You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm developing a fuzzer that would strongly benefit from persistent fuzzing, since it requires many configuration steps, and doing them once per fuzzing instance can accelerate the process, but I see no macro to interact with LLVMFuzzerInitialize. http://www.wilfred.me.uk/llvm/LibFuzzer.html#startup-initialization
Lazy initialization is an okay workaround but I'd still like a way to run initialization code outside of the fuzz target. The LibFuzzer documentation recommends either global static initialization (not really available in Rust for good reasons) or LLVMFuzzerInitialize instead and following this advice seems prudent. I don't know if and when it makes a big difference, but if the initialization-only code is very large then I have a bad feeling about incorrectly attributing that much coverage to whatever element of the corpus is tested first. For example, I'd like to fuzz a hand-written lexer against an oracle using regular expressions to define what the tokens should be. In this case the entire regex parser/compiler runs (only) during initialization and might easily involve more code than the entire actual fuzz target, including regex matching for the oracle.
I'm developing a fuzzer that would strongly benefit from persistent fuzzing, since it requires many configuration steps, and doing them once per fuzzing instance can accelerate the process, but I see no macro to interact with
LLVMFuzzerInitialize
.http://www.wilfred.me.uk/llvm/LibFuzzer.html#startup-initialization
https://github.com/rust-fuzz/libfuzzer/blob/c8275d1517933765b56a6de61a371bb1cc4268cb/src/lib.rs#L81C1-L98C2, I also noticed that the issue mentioned here in the comments has been resolved.
The text was updated successfully, but these errors were encountered: