|
|
Donner
C++20 SVG rendering library
|
Parsers and subparsers within Donner SVG have fuzzers in order to harden the implementation and detect new edge cases. Fuzzing is performed with libFuzzer.
To run a fuzzer, first build it with --config=asan-fuzzer:
Then run it and pass it a directory to use for building the corpus. This will run indefinitely, until either a crash has been encountered or it is terminated with a Ctrl-C.
To maximum throughput, run with multiple simultaneous jobs:
When a failure occurs, a repro file is saved out. To guard against future crashes, copy the file to the corpus directory in-tree. This will then be validated during normal bazel test //... runs.