From 97c169fe63142593dc974f6683e693a5ad51a889 Mon Sep 17 00:00:00 2001 From: tokatoka Date: Fri, 24 Dec 2021 16:34:53 +0900 Subject: [PATCH] init ranges later --- libafl_frida/src/drcov_rt.rs | 6 ++++++ libafl_frida/src/helper.rs | 2 ++ 2 files changed, 8 insertions(+) diff --git a/libafl_frida/src/drcov_rt.rs b/libafl_frida/src/drcov_rt.rs index d2ef88b2f3..66bdf2271c 100644 --- a/libafl_frida/src/drcov_rt.rs +++ b/libafl_frida/src/drcov_rt.rs @@ -11,6 +11,7 @@ pub struct DrCovRuntime { } impl DrCovRuntime { + #[must_use] pub fn new() -> Self { Self { drcov_basic_blocks: vec![], @@ -18,6 +19,11 @@ impl DrCovRuntime { } } + pub fn init(&mut self, ranges: &RangeMap) { + self.ranges = ranges.clone(); + } + + #[allow(clippy::unused_self)] pub fn pre_exec(&mut self, _input: &I) -> Result<(), Error> { Ok(()) } diff --git a/libafl_frida/src/helper.rs b/libafl_frida/src/helper.rs index 2b035adc6f..bd45710d65 100644 --- a/libafl_frida/src/helper.rs +++ b/libafl_frida/src/helper.rs @@ -377,6 +377,8 @@ impl<'a> FridaInstrumentationHelper<'a> { if helper.options().asan_enabled() || helper.options().drcov_enabled() { helper.asan_runtime.init(gum, modules_to_instrument); } + + helper.drcov_runtime.init(&helper.ranges); #[cfg(feature = "cmplog")] if helper.options.cmplog_enabled() { helper.cmplog_runtime.init();