From 1f5189a6a6d7619c5d78c7c6e36301db027406f4 Mon Sep 17 00:00:00 2001 From: Dominik Maier Date: Sat, 3 Sep 2022 08:27:41 +0200 Subject: [PATCH] Do not zero-init struct in QEMU (#758) * New Clippy fixes for QEMU * no need to 0-initialize mem * clippy --- libafl/src/bolts/cli.rs | 7 ++----- libafl_qemu/src/emu.rs | 10 +++++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/libafl/src/bolts/cli.rs b/libafl/src/bolts/cli.rs index 7e1698513f..7b8320e1c5 100644 --- a/libafl/src/bolts/cli.rs +++ b/libafl/src/bolts/cli.rs @@ -64,11 +64,8 @@ //!``` #[cfg(feature = "frida_cli")] -use alloc::boxed::Box; -use alloc::{ - string::{String, ToString}, - vec::Vec, -}; +use alloc::{boxed::Box, string::ToString}; +use alloc::{string::String, vec::Vec}; #[cfg(feature = "frida_cli")] use std::error; use std::{net::SocketAddr, path::PathBuf, time::Duration}; diff --git a/libafl_qemu/src/emu.rs b/libafl_qemu/src/emu.rs index fcde0bd925..f2018eb084 100644 --- a/libafl_qemu/src/emu.rs +++ b/libafl_qemu/src/emu.rs @@ -1,12 +1,12 @@ //! Expose QEMU user `LibAFL` C api to Rust -#[cfg(feature = "usermode")] -use core::ptr::copy_nonoverlapping; use core::{ convert::Into, ffi::c_void, ptr::{addr_of, addr_of_mut, null}, }; +#[cfg(feature = "usermode")] +use core::{mem::MaybeUninit, ptr::copy_nonoverlapping}; use std::{slice::from_raw_parts, str::from_utf8_unchecked}; #[cfg(feature = "usermode")] @@ -391,12 +391,12 @@ impl Iterator for GuestMaps { return None; } unsafe { - let mut ret = core::mem::zeroed(); - self.c_iter = libafl_maps_next(self.c_iter, addr_of_mut!(ret)); + let mut ret = MaybeUninit::uninit(); + self.c_iter = libafl_maps_next(self.c_iter, ret.as_mut_ptr()); if self.c_iter.is_null() { None } else { - Some(ret) + Some(ret.assume_init()) } } }