Wan*_*uma 1 c linux getpwuid getpwnam
我正在研究 Linux 和 FreeBSD。当我使用getpwnam()or时getpwuid(),我得到一个指向结构的指针passwd。使用char*该passwd结构成员的安全方法是什么?
getpwnam()
getpwuid()
passwd
char*
手册页说这个结构是一个静态对象,但会被后续调用覆盖,所以我想安全的方法是使用strdup()来获取成员的副本char*,然后不再使用该passwd结构。
strdup()
我的理解正确吗?
R..*_*R.. 5
最安全的方法是根本不使用它们,而是使用getpwnam_rand getpwuid_r,它将结果存储在调用者提供的缓冲区中。这不仅避免了您所询问的问题,而且还使您的代码可以安全地在多线程进程中使用。
getpwnam_r
getpwuid_r
归档时间:
11 年,7 月 前
查看次数:
848 次
最近记录:
11 年,4 月 前