从crypt(3) - Linux man page:为什么crypt()函数没有内存泄漏?
char *crypt(const char *key, const char *salt);
返回值: 返回一个指针,指向的加密密码。出错时,返回NULL
。
由于返回值是未知的,除非给出key和salt,这应该是动态分配的内存,但valgrind不同意。
从crypt(3) - Linux man page:为什么crypt()函数没有内存泄漏?
char *crypt(const char *key, const char *salt);
返回值: 返回一个指针,指向的加密密码。出错时,返回NULL
。
由于返回值是未知的,除非给出key和salt,这应该是动态分配的内存,但valgrind不同意。
从手册页:
返回值指向静态数据 ,其内容是由每个调用覆盖。
所以这意味着它不是动态分配的 - 它是一个单独的静态分配(就像全局变量一样)。
从你的链接页面:
返回值指向加密的密码,一个系列13个可打印的ASCII字符(前两个字符代表的盐本身)。返回值指向内容被每次调用覆盖的静态数据。