Why does the crypt() function not have a memory leak?
c, crypt
Solution
From the man page:
The return value points to static data whose content is overwritten by each call.
So this means it's not dynamically allocated - it's a single static allocation (just like a global variable).
Problem
From crypt(3) - Linux man page: ``` char *crypt(const char *key, const char *salt); ``` Return Value: A pointer to the encrypted password is returned. On error, `NULL` is returned. Since the return value is unknown unless key and salt is given, this should be dynamically allocated memory, but valgrind doesn't agree.