![](/img/trans.png)
[英]safe way to mix use of mmap(2) and malloc(3), requires that: the result of mmap(2) must be continuous
[英]Safe way to use the result of getpwnam()/getpwuid()?
我正在Linux和FreeBSD上工作。 當我使用getpwnam()
或getpwuid()
,我得到了一個指向passwd
結構的指針。 使用該passwd
結構的char*
成員的安全方法是什么?
手冊頁中說此結構是一個靜態對象,但以后的調用會覆蓋它,因此我猜比較安全的方法是使用strdup()
獲取char*
成員的副本,然后不再使用passwd
結構。
我的理解正確嗎?
最安全的方法是根本不使用它們,而是使用getpwnam_r
和getpwuid_r
,它們將結果存儲在調用者提供的緩沖區中。 這不僅避免了您要問的問題,而且還使您的代碼可以安全地在多線程進程中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.