From 393afa56c8154c558320897f125aa7cf914b422f Mon Sep 17 00:00:00 2001 From: Dongjia Zhang Date: Sun, 13 Feb 2022 13:10:17 +0900 Subject: [PATCH] Github workflows frida build on windows (#536) * Update build_and_test.yml * Update build_and_test.yml * clippy * clippy * clippy --- .github/workflows/build_and_test.yml | 12 ++++++++++-- libafl_frida/src/alloc.rs | 6 ++---- libafl_frida/src/helper.rs | 7 ++----- libafl_sugar/src/forkserver.rs | 1 + libafl_sugar/src/inmemory.rs | 1 + libafl_sugar/src/qemu.rs | 1 + 6 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 01a27f6519..2aa939ae6d 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -149,8 +149,16 @@ jobs: uses: actions-rs/cargo@v1 with: command: clippy - #- name: Build frida - # run: cd fuzzers/frida_libpng/ && cargo build --release + - name: Install LLVM and Clang # required for bindgen to work, see https://github.com/rust-lang/rust-bindgen/issues/1797 + uses: KyleMayes/install-llvm-action@32c4866ebb71e0949e8833eb49beeebed48532bd + with: + version: "12.0" + directory: ${{ runner.temp }}/llvm + - name: Set LIBCLANG_PATH + run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV + - name: Build frida + run: cd fuzzers/frida_libpng/ && cargo build --release + macos: runs-on: macOS-latest steps: diff --git a/libafl_frida/src/alloc.rs b/libafl_frida/src/alloc.rs index a440c724ae..549436355b 100644 --- a/libafl_frida/src/alloc.rs +++ b/libafl_frida/src/alloc.rs @@ -121,10 +121,8 @@ impl Allocator { let base: usize = 2; // On x64, if end > 2**48, then that's in vsyscall or something. #[cfg(target_arch = "x86_64")] - if end <= base.pow(48) { - if end > userspace_max { - userspace_max = end; - } + if end <= base.pow(48) && end > userspace_max { + userspace_max = end; } // On x64, if end > 2**52, then range is not in userspace diff --git a/libafl_frida/src/helper.rs b/libafl_frida/src/helper.rs index 275b6124a3..2e2438ba39 100644 --- a/libafl_frida/src/helper.rs +++ b/libafl_frida/src/helper.rs @@ -407,11 +407,8 @@ where /// Pointer to coverage map pub fn map_ptr_mut(&mut self) -> Option<*mut u8> { - if let Some(rt) = self.runtime_mut::() { - Some(rt.map_ptr_mut()) - } else { - None - } + self.runtime_mut::() + .map(CoverageRuntime::map_ptr_mut) } /// Ranges diff --git a/libafl_sugar/src/forkserver.rs b/libafl_sugar/src/forkserver.rs index 7f5bcf5d4c..ff17b15f32 100644 --- a/libafl_sugar/src/forkserver.rs +++ b/libafl_sugar/src/forkserver.rs @@ -321,6 +321,7 @@ pub mod pybind { impl ForkserverBytesCoverageSugar { /// Create a new [`ForkserverBytesCoverageSugar`] #[new] + #[allow(clippy::too_many_arguments)] fn new( input_dirs: Vec, output_dir: PathBuf, diff --git a/libafl_sugar/src/inmemory.rs b/libafl_sugar/src/inmemory.rs index 076a4f82ea..292702625a 100644 --- a/libafl_sugar/src/inmemory.rs +++ b/libafl_sugar/src/inmemory.rs @@ -385,6 +385,7 @@ pub mod pybind { impl InMemoryBytesCoverageSugar { /// Create a new [`InMemoryBytesCoverageSugar`] #[new] + #[allow(clippy::too_many_arguments)] fn new( input_dirs: Vec, output_dir: PathBuf, diff --git a/libafl_sugar/src/qemu.rs b/libafl_sugar/src/qemu.rs index d577663642..5b5cd00ce3 100644 --- a/libafl_sugar/src/qemu.rs +++ b/libafl_sugar/src/qemu.rs @@ -449,6 +449,7 @@ pub mod pybind { impl QemuBytesCoverageSugar { /// Create a new [`QemuBytesCoverageSugar`] #[new] + #[allow(clippy::too_many_arguments)] fn new( input_dirs: Vec, output_dir: PathBuf,