tectonic/fuzz
Peter Williams b6d0566642 Plug memory leaks identified by fuzzer+Valgrind 2022-03-30 00:01:49 -04:00
..
fuzz_targets Add initial support for cargo-fuzz 2019-02-20 20:08:30 +00:00
seeds Add initial support for cargo-fuzz 2019-02-20 20:08:30 +00:00
.gitignore Add initial support for cargo-fuzz 2019-02-20 20:08:30 +00:00
Cargo.toml Add initial support for cargo-fuzz 2019-02-20 20:08:30 +00:00
README.md fuzz/README.md: add a brief README 2019-06-15 15:06:54 -05:00
run-fuzzer.sh Plug memory leaks identified by fuzzer+Valgrind 2022-03-30 00:01:49 -04:00

README.md

Tectonic Fuzzing Support

This is beta-level support for fuzzing the Tectonic engine using cargo-fuzz. At the moment, the fuzzing does not work very well because it exposes memory leaks in the Tectonic engine; this is desirable in and of itself, but the exposed leaks have proven to be tricky to fix. (Patches most welcome, of course! The limiting factor here is definitely developer bandwidth.)

See the script ./run-fuzzer.sh for an example of how to, well, run the fuzzer. Note that this script sets a rustup directory override to build Tectonic using the nightly compilers, since nightly is currently required by the fuzzer.

To tell the fuzzer to ignore memory leaks, run a command like the following from the toplevel directory of the Tectonic repository:

cargo +nightly fuzz run compile fuzz/corpus fuzz/seeds -- -detect_leaks=0