От crypt(3) - Linux man page:Почему функция crypt() не имеет утечки памяти?
char *crypt(const char *key, const char *salt);
Возвращаемое значение: Указатель на зашифрованный пароль возвращается. При ошибке возвращается NULL
.
Поскольку возвращаемое значение неизвестно, если не заданы ключ и соль, это должно быть динамически распределенная память, но valgrind не согласен.