diff --git a/crates/libafl_frida/build.rs b/crates/libafl_frida/build.rs index 5ca94212bd..5ea042131f 100644 --- a/crates/libafl_frida/build.rs +++ b/crates/libafl_frida/build.rs @@ -38,6 +38,12 @@ fn main() { let mut cmd = std::process::Command::new(compiler.path()); let cmd = cmd .args(compiler.args()) + // Propagate the environment `cc` set up for the compiler (on + // MSVC: the INCLUDE/LIB/PATH it discovered via vswhere/registry) + // so the direct `cl.exe` invocation works outside a Visual Studio + // developer shell, where INCLUDE/LIB are not set. Without this, + // cl.exe fails with `C1034: stdint.h: no include path set`. + .envs(compiler.env().iter().map(|(key, value)| (key, value))) .arg("test_harness.cpp") .arg("/link"); diff --git a/fuzzers/forkserver/libafl-fuzz/src/fuzzer.rs b/fuzzers/forkserver/libafl-fuzz/src/fuzzer.rs index f1ac731131..87da0fa7a4 100644 --- a/fuzzers/forkserver/libafl-fuzz/src/fuzzer.rs +++ b/fuzzers/forkserver/libafl-fuzz/src/fuzzer.rs @@ -283,9 +283,8 @@ define_run_client!(state, mgr, fuzzer_dir, core_id, opt, is_main_node, { // Create our Scheduler // Our scheduler can either be a Queue // Or a "Weighted Random" which prioritizes entries that take less time and hit more edges - let scheduler; - if opt.sequential_queue { - scheduler = SupportedSchedulers::Queue(QueueScheduler::new(), PhantomData); + let scheduler = if opt.sequential_queue { + SupportedSchedulers::Queue(QueueScheduler::new(), PhantomData) } else { let ps = PowerSchedule::new(strategy); let mut weighted_scheduler = @@ -293,11 +292,11 @@ define_run_client!(state, mgr, fuzzer_dir, core_id, opt, is_main_node, { if opt.cycle_schedules { weighted_scheduler = weighted_scheduler.cycling_scheduler(); } - scheduler = SupportedSchedulers::Weighted( + SupportedSchedulers::Weighted( IndexesLenTimeMinimizerScheduler::new(&edges_observer, weighted_scheduler), PhantomData, - ); - } + ) + }; // Create our Fuzzer let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);