Forkserver example updated (#404)
This commit is contained in:
parent
c3ea7a042c
commit
bfcb86a2e4
@ -34,14 +34,12 @@ pub fn main() {
|
|||||||
Arg::new("executable")
|
Arg::new("executable")
|
||||||
.about("The instrumented binary we want to fuzz")
|
.about("The instrumented binary we want to fuzz")
|
||||||
.required(true)
|
.required(true)
|
||||||
.index(1)
|
|
||||||
.takes_value(true),
|
.takes_value(true),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("in")
|
Arg::new("in")
|
||||||
.about("The directory to read initial inputs from ('seeds')")
|
.about("The directory to read initial inputs from ('seeds')")
|
||||||
.required(true)
|
.required(true)
|
||||||
.index(2)
|
|
||||||
.takes_value(true),
|
.takes_value(true),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
@ -51,6 +49,11 @@ pub fn main() {
|
|||||||
.long("timeout")
|
.long("timeout")
|
||||||
.default_value("1200"),
|
.default_value("1200"),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::new("arguments")
|
||||||
|
.setting(clap::ArgSettings::MultipleValues)
|
||||||
|
.takes_value(true),
|
||||||
|
)
|
||||||
.get_matches();
|
.get_matches();
|
||||||
|
|
||||||
let corpus_dirs = vec![PathBuf::from(res.value_of("in").unwrap().to_string())];
|
let corpus_dirs = vec![PathBuf::from(res.value_of("in").unwrap().to_string())];
|
||||||
@ -124,10 +127,15 @@ pub fn main() {
|
|||||||
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);
|
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);
|
||||||
|
|
||||||
// Create the executor for the forkserver
|
// Create the executor for the forkserver
|
||||||
|
let args = match res.values_of("arguments") {
|
||||||
|
Some(vec) => vec.map(|s| s.to_string()).collect::<Vec<String>>().to_vec(),
|
||||||
|
None => [].to_vec(),
|
||||||
|
};
|
||||||
|
|
||||||
let mut executor = TimeoutForkserverExecutor::new(
|
let mut executor = TimeoutForkserverExecutor::new(
|
||||||
ForkserverExecutor::new(
|
ForkserverExecutor::new(
|
||||||
res.value_of("executable").unwrap().to_string(),
|
res.value_of("executable").unwrap().to_string(),
|
||||||
&[],
|
&args,
|
||||||
true,
|
true,
|
||||||
tuple_list!(edges_observer, time_observer),
|
tuple_list!(edges_observer, time_observer),
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user