Let libnyx use the time_limit value from the config instead of using a hardcoded value
This commit is contained in:
parent
9406424657
commit
eaf0f435d8
@ -1,3 +1,4 @@
|
|||||||
|
use std::time::Duration;
|
||||||
use crate::{config::{Config, FuzzRunnerConfig, QemuNyxRole}, QemuProcess};
|
use crate::{config::{Config, FuzzRunnerConfig, QemuNyxRole}, QemuProcess};
|
||||||
|
|
||||||
pub struct QemuParams {
|
pub struct QemuParams {
|
||||||
@ -15,6 +16,7 @@ pub struct QemuParams {
|
|||||||
pub hprintf_fd: Option<i32>,
|
pub hprintf_fd: Option<i32>,
|
||||||
|
|
||||||
pub aux_buffer_size: usize,
|
pub aux_buffer_size: usize,
|
||||||
|
pub time_limit: Duration,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl QemuParams {
|
impl QemuParams {
|
||||||
@ -191,6 +193,7 @@ impl QemuParams {
|
|||||||
cow_primary_size: fuzzer_config.fuzz.cow_primary_size,
|
cow_primary_size: fuzzer_config.fuzz.cow_primary_size,
|
||||||
hprintf_fd: fuzzer_config.runtime.hprintf_fd(),
|
hprintf_fd: fuzzer_config.runtime.hprintf_fd(),
|
||||||
aux_buffer_size: fuzzer_config.runtime.aux_buffer_size(),
|
aux_buffer_size: fuzzer_config.runtime.aux_buffer_size(),
|
||||||
|
time_limit: fuzzer_config.fuzz.time_limit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +205,7 @@ impl QemuProcess {
|
|||||||
return Err(format!("cannot launch QEMU-Nyx..."));
|
return Err(format!("cannot launch QEMU-Nyx..."));
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut aux_buffer = {
|
let aux_buffer = {
|
||||||
let aux_shm_f = OpenOptions::new()
|
let aux_shm_f = OpenOptions::new()
|
||||||
.read(true)
|
.read(true)
|
||||||
.write(true)
|
.write(true)
|
||||||
@ -291,12 +291,12 @@ impl QemuProcess {
|
|||||||
1 => println!("[!] libnyx: coverage mode: compile-time instrumentation"),
|
1 => println!("[!] libnyx: coverage mode: compile-time instrumentation"),
|
||||||
_ => panic!("unkown aux_buffer.cap.agent_trace_bitmap value"),
|
_ => panic!("unkown aux_buffer.cap.agent_trace_bitmap value"),
|
||||||
};
|
};
|
||||||
|
|
||||||
println!("[!] libnyx: qemu #{} is ready:", params.qemu_id);
|
println!("[!] libnyx: qemu #{} is ready:", params.qemu_id);
|
||||||
|
|
||||||
aux_buffer.config.reload_mode = 1;
|
aux_buffer.config.reload_mode = 1;
|
||||||
aux_buffer.config.timeout_sec = 0;
|
aux_buffer.config.timeout_sec = params.time_limit.as_secs() as u8;
|
||||||
aux_buffer.config.timeout_usec = 500_000;
|
aux_buffer.config.timeout_usec = params.time_limit.subsec_micros();
|
||||||
aux_buffer.config.changed = 1;
|
aux_buffer.config.changed = 1;
|
||||||
|
|
||||||
return Ok(QemuProcess {
|
return Ok(QemuProcess {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user