libfuzzer
libfuzzer copied to clipboard
Rust bindings and utilities for LLVM’s libFuzzer
A possible upgrade would be the ability for creating multiple variables that are to be fuzzed from the same data in the `fuzz_target` macro. Something like this? ```rust fuzz_target!(|rgb: Rgb,...
Adding a LICENSE file with the full license text would make it easier to include this project in other codebases such as the Android Open Source Project. Also the reference...
While taking a look at #89, I noticed that even with the proposed workaround, the ci script fails because the first example doesn't find the panicking input. I guess this...
Can't build it on target x86_64-unknown-linux-musl ... Seems to be missed to `#include ` somewhere to be compatible? ``` running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra"...
So, this can definitely work without changes to libfuzzer itself, as it is written today. There are a couple pieces to it: 1. Don't compile `FuzzerMain.cpp` at all; 2. Use...
I wrap a function that I know is buggy into a `std::panic::catch_unwind()` so that when it panics my own code does not. I can then gracefully handle the error. Unfortunately,...
The way libfuzzer works is that libfuzzer itself contains a `main()`, and you link in a binary that contains a hook but not `main()`. This is kind of awkward, ideally...
`libfuzzer-sys` will just build and link `libfuzzer.a`. `libfuzzer` will depend on `libfuzzer-sys` and additionally export our nice `fuzz_target!` macro. I started poking at this over in https://github.com/fitzgen/libfuzzer/tree/split-libfuzzer-and-libfuzzer-sys but quickly ran...
I can't compile my fuzzers these days anymore, and I'm banging my head on the problem. To repro: ``` git clone https://github.com/google/oss-fuzz.git python infra/helper.py shell libra compile ``` This will...
The idea: if a project already has property-based tests, whether using `proptest` or `quickcheck` (or maybe something else?), it's useful to do fuzz testing with those APIs. That way, `cargo...