diff --git a/fuzz_runner/Cargo.toml b/fuzz_runner/Cargo.toml index afdfc29..23e8a52 100644 --- a/fuzz_runner/Cargo.toml +++ b/fuzz_runner/Cargo.toml @@ -7,12 +7,11 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -nix = "0.20.2" +nix = "0.26.2" time = "0.2.9" subprocess = "0.2.4" libc = "0.2.68" quick-error = "*" -tempfile = "3.1.0" rand = "0.7.3" serde_derive = "1.0" serde = "1.0" diff --git a/fuzz_runner/src/lib.rs b/fuzz_runner/src/lib.rs index 4577f5c..d2d6d37 100644 --- a/fuzz_runner/src/lib.rs +++ b/fuzz_runner/src/lib.rs @@ -3,7 +3,6 @@ extern crate glob; extern crate nix; extern crate serde_derive; extern crate snafu; -extern crate tempfile; extern crate timeout_readwrite; extern crate config; diff --git a/fuzz_runner/src/nyx/aux_buffer.rs b/fuzz_runner/src/nyx/aux_buffer.rs index c51bcd2..fc6207f 100644 --- a/fuzz_runner/src/nyx/aux_buffer.rs +++ b/fuzz_runner/src/nyx/aux_buffer.rs @@ -1,5 +1,4 @@ -use core::ffi::c_void; use nix::sys::mman::*; use std::fs::File; use std::os::unix::io::IntoRawFd; @@ -59,8 +58,10 @@ impl AuxBuffer { } let flags = MapFlags::MAP_SHARED; + let null_addr = std::num::NonZeroUsize::new(0); + let size = std::num::NonZeroUsize::new(AUX_BUFFER_SIZE).unwrap(); unsafe { - let ptr = mmap(0 as *mut c_void, 0x1000, prot, flags, file.into_raw_fd(), 0).unwrap(); + let ptr = mmap(null_addr, size, prot, flags, file.into_raw_fd(), 0).unwrap(); let header = (ptr.add(HEADER_OFFSET) as *mut auxilary_buffer_header_s) .as_mut() .unwrap(); diff --git a/fuzz_runner/src/nyx/qemu_process.rs b/fuzz_runner/src/nyx/qemu_process.rs index d062d87..5dcb2e0 100644 --- a/fuzz_runner/src/nyx/qemu_process.rs +++ b/fuzz_runner/src/nyx/qemu_process.rs @@ -1,4 +1,3 @@ -use core::ffi::c_void; use std::os::unix::prelude::FromRawFd; use std::path::PathBuf; use nix::sys::mman::*; @@ -75,8 +74,10 @@ fn run_qemu(ctrl: &mut UnixStream) -> io::Result<()>{ fn make_shared_data(file: &File, size: usize) -> &'static mut [u8] { let prot = ProtFlags::PROT_READ | ProtFlags::PROT_WRITE; let flags = MapFlags::MAP_SHARED; + let null_addr = std::num::NonZeroUsize::new(0); + let wrapped_size = std::num::NonZeroUsize::new(size).unwrap(); unsafe { - let ptr = mmap(0 as *mut c_void, size, prot, flags, file.as_raw_fd(), 0).unwrap(); + let ptr = mmap(null_addr, wrapped_size, prot, flags, file.as_raw_fd(), 0).unwrap(); let data = std::slice::from_raw_parts_mut(ptr as *mut u8, size); return data; @@ -86,8 +87,10 @@ fn make_shared_data(file: &File, size: usize) -> &'static mut [u8] { fn make_shared_ijon_data(file: File, size: usize) -> FeedbackBuffer { let prot = ProtFlags::PROT_READ | ProtFlags::PROT_WRITE; let flags = MapFlags::MAP_SHARED; + let null_addr = std::num::NonZeroUsize::new(0); + let wrapped_size = std::num::NonZeroUsize::new(size).unwrap(); unsafe { - let ptr = mmap(std::ptr::null_mut::(), size, prot, flags, file.into_raw_fd(), 0).unwrap(); + let ptr = mmap(null_addr, wrapped_size, prot, flags, file.into_raw_fd(), 0).unwrap(); FeedbackBuffer::new((ptr as *mut SharedFeedbackData).as_mut().unwrap()) } } diff --git a/libnyx/Cargo.toml b/libnyx/Cargo.toml index cb0dac6..3cb4a47 100644 --- a/libnyx/Cargo.toml +++ b/libnyx/Cargo.toml @@ -8,7 +8,7 @@ name = "libnyx" crate-type = ["staticlib", "dylib"] [build-dependencies] -cbindgen = "0.19" +cbindgen = "0.24.3" [dependencies] config={path="../config"}