簡體   English   中英

使用getpwnam()/ getpwuid()結果的安全方法?

[英]Safe way to use the result of getpwnam()/getpwuid()?

我正在Linux和FreeBSD上工作。 當我使用getpwnam()getpwuid() ,我得到了一個指向passwd結構的指針。 使用該passwd結構的char*成員的安全方法是什么?

手冊頁中說此結構是一個靜態對象,但以后的調用會覆蓋它,因此我猜比較安全的方法是使用strdup()獲取char*成員的副本,然后不再使用passwd結構。

我的理解正確嗎?

最安全的方法是根本不使用它們,而是使用getpwnam_rgetpwuid_r ,它們將結果存儲在調用者提供的緩沖區中。 這不僅避免了您要問的問題,而且還使您的代碼可以安全地在多線程進程中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM