diff options
author | Alan Somers <asomers@gmail.com> | 2019-08-30 23:10:22 -0600 |
---|---|---|
committer | Alan Somers <asomers@gmail.com> | 2019-09-03 16:25:41 -0600 |
commit | 469032433d68841ad098f03aa2b28e81235b8be8 (patch) | |
tree | a34108f1688355ebaa6d5eed8a2eecafc5d32dfa /src/sys/ptrace | |
parent | a4a465d25567f163f9552b977eb4d17435251d41 (diff) | |
download | nix-469032433d68841ad098f03aa2b28e81235b8be8.zip |
Replace most instances of mem::uninitialized with mem::MaybeUninit
Only two instances remain:
* For the deprecated sys::socket::CmsgSpace::new. We should probably
just remove that method.
* For sys::termios::Termios::default_uninit. This will require some
more thought.
Fixes #1096
Diffstat (limited to 'src/sys/ptrace')
-rw-r--r-- | src/sys/ptrace/linux.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/sys/ptrace/linux.rs b/src/sys/ptrace/linux.rs index df15e665..b2b984c3 100644 --- a/src/sys/ptrace/linux.rs +++ b/src/sys/ptrace/linux.rs @@ -221,16 +221,15 @@ pub fn setregs(pid: Pid, regs: user_regs_struct) -> Result<()> { /// and therefore use the data field to return values. This function handles these /// requests. fn ptrace_get_data<T>(request: Request, pid: Pid) -> Result<T> { - // Creates an uninitialized pointer to store result in - let data: T = unsafe { mem::uninitialized() }; + let mut data = mem::MaybeUninit::uninit(); let res = unsafe { libc::ptrace(request as RequestType, libc::pid_t::from(pid), ptr::null_mut::<T>(), - &data as *const _ as *const c_void) + data.as_mut_ptr() as *const _ as *const c_void) }; Errno::result(res)?; - Ok(data) + Ok(unsafe{ data.assume_init() }) } unsafe fn ptrace_other(request: Request, pid: Pid, addr: AddressType, data: *mut c_void) -> Result<c_long> { |