aboutsummaryrefslogtreecommitdiff
path: root/fuzzpuzz.c (follow)
Commit message (Collapse)AuthorAge
* Remember to free the game name in fuzzpuzzBen Harris2023-01-12
|
* Don't leak midends in fuzzpuzzBen Harris2023-01-12
| | | | If deserialising a save file fails, the midend still needs to be freed.
* Merge the two versions of fuzzpuzz back togetherBen Harris2023-01-12
| | | | | | | Now there's a single version of the main loop that runs once in normal mode and repeatedly in AFL++ persistent mode. In persistent mode, fmemopen() allows the loop to read the shared-memory buffer as though it were a stdio stream. fmemopen() is POSIX-only, but so is AFL++.
* AFL-specific shared-memory fuzzing modeBen Harris2023-01-12
| | | | | | | Rather than a save file from standard input and then exiting, this reads it from a shared memory buffer and then loops. This makes fuzzing _much_ faster: one core on my laptop can now load about 30,000 save files per second.
* Add a fuzzing harness for PuzzlesBen Harris2023-01-12
This just feeds save files into the loading code, but because of how Puzzles is structured that actually exercises most of its parsers.