The indentation was introduced in cad2e0e11a, not when the safety hash check was added in 2c6f069c2f, my first guess.
The indentations makes the rc.local begin with spaces instead of `#!/bin/bash` and will not run. But it gets better.
The md5 safety check is based on rc.local without indents, so after the added indentations the if-block will never be skipped. If the script is run a second time, the original rc.local backed up in rc.local.bak will be overwritten, and on boot result in a never ending loop, trying to expand the filesystem each time. A user could run the pishrink.sh a second time on a disk image, e.g. after making more edits.
The awks being used were not reliably giving the correct data across different distros. They were
replaced with cut and tr, this should give the script better stability.