The spec is pretty unambiguous here: https://pubs.opengroup.org/onlinepubs/9799919799/functions/c...
> Upon successful completion, crypt() shall return a pointer to the hashed password [...]. Otherwise, it shall return a null pointer and set errno to indicate the error.
You need to add that the spec _also_ only defines a singular error state, that isn't applicable here.
> The crypt() function shall fail if:
> [ENOSYS]
> The functionality is not supported on this implementation.