5

来自crypt(3) - Linux 手册页

char *crypt(const char *key, const char *salt);

返回值:返回指向加密密码的指针。出错时,NULL返回。

由于返回值是未知的,除非给出 key 和 salt,这应该是动态分配的内存,但 valgrind 不同意。

4

2 回答 2

9

从手册页:

返回值指向其内容被每次调用覆盖的静态数据。

所以这意味着它不是动态分配的——它是一个单一的静态分配(就像一个全局变量)。

于 2010-01-27T03:59:55.710 回答
3

从您链接的页面:

返回的值指向加密的密码,一系列 13 个可打印的 ASCII 字符(前两个字符代表盐本身)。返回值指向其内容被每次调用覆盖的静态数据。

于 2010-01-27T03:59:34.027 回答