Let libnyx use the time_limit value from the config instead of using a hardcoded value

This commit is contained in:
NoRelect 2024-01-02 20:30:56 +01:00
parent 9406424657
commit eaf0f435d8
No known key found for this signature in database
GPG Key ID: 5AE571172B55D4A2
2 changed files with 7 additions and 4 deletions

View File

@ -1,3 +1,4 @@
use std::time::Duration;
use crate::{config::{Config, FuzzRunnerConfig, QemuNyxRole}, QemuProcess};
pub struct QemuParams {
@ -15,6 +16,7 @@ pub struct QemuParams {
pub hprintf_fd: Option<i32>,
pub aux_buffer_size: usize,
pub time_limit: Duration,
}
impl QemuParams {
@ -191,6 +193,7 @@ impl QemuParams {
cow_primary_size: fuzzer_config.fuzz.cow_primary_size,
hprintf_fd: fuzzer_config.runtime.hprintf_fd(),
aux_buffer_size: fuzzer_config.runtime.aux_buffer_size(),
time_limit: fuzzer_config.fuzz.time_limit
}
}

View File

@ -205,7 +205,7 @@ impl QemuProcess {
return Err(format!("cannot launch QEMU-Nyx..."));
}
let mut aux_buffer = {
let aux_buffer = {
let aux_shm_f = OpenOptions::new()
.read(true)
.write(true)
@ -295,8 +295,8 @@ impl QemuProcess {
println!("[!] libnyx: qemu #{} is ready:", params.qemu_id);
aux_buffer.config.reload_mode = 1;
aux_buffer.config.timeout_sec = 0;
aux_buffer.config.timeout_usec = 500_000;
aux_buffer.config.timeout_sec = params.time_limit.as_secs() as u8;
aux_buffer.config.timeout_usec = params.time_limit.subsec_micros();
aux_buffer.config.changed = 1;
return Ok(QemuProcess {