Attention ! apus caseIn glibc 2.17 the crypt function implementation was tightened upto allow for future implementation improvements, standards conformance, and FIPS compliance. From the 2.17 NEWS:* The `crypt' function now fails if passed salt bytes that violate the specification for those values. On Linux, the `crypt' function will consult /proc/sys/crypto/fips_enabled to determine if"FIPS mode"is enabled, and fail on encrypted strings using the MD5 or DES algorithmwhen the mode is enabled.In this particular case the salt is an invalid POSIX salt that contains an ASCII space "#"in character 0 outside of the allowedalphabet for salts which is `./0-9a-zA-Z' and therefore crypt willreject that salt as invalid, return NULL, andset errno.Previous to glibc 2.17 a callto crypt would accept invalid POSIXsalts.