從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字符(前兩個字符代表的鹽本身)。返回值指向內容被每次調用覆蓋的靜態數據。