We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d4cc01c commit bd9ce3eCopy full SHA for bd9ce3e
library/std/src/sys/pal/unix/os.rs
@@ -738,16 +738,17 @@ pub fn home_dir() -> Option<PathBuf> {
738
n => n as usize,
739
};
740
let mut buf = Vec::with_capacity(amt);
741
- let mut passwd: libc::passwd = mem::zeroed();
+ let mut p = mem::MaybeUninit::<libc::passwd>::uninit();
742
let mut result = ptr::null_mut();
743
match libc::getpwuid_r(
744
libc::getuid(),
745
- &mut passwd,
+ p.as_mut_ptr(),
746
buf.as_mut_ptr(),
747
buf.capacity(),
748
&mut result,
749
) {
750
0 if !result.is_null() => {
751
+ let passwd = p.assume_init();
752
let ptr = passwd.pw_dir as *const _;
753
let bytes = CStr::from_ptr(ptr).to_bytes().to_vec();
754
Some(OsStringExt::from_vec(bytes))
0 commit comments