Commit Graph

3 Commits

Author SHA1 Message Date
Markus Kusano 2ae303bc3b Add mpg123_decode fuzzer (#2037)
* Add fuzzer for mpg123_decode.

This fuzzes a different and non-filebased API that read_fuzzer.c.
mpg123_decode is, however, streaming based so we need to chunk the
fuzzer's input into multiple pieces, and pass them to the library. This
is pretty annoying to do by hand so I've introduced byte_stream.h to do
this automatically. Sadly, byte_stream.h is very C++ so the
decode_fuzzer is also C++ now. This isn't ideal since mpg123 is a
C library but this is the easiest way to do it.

* Do not carry next input within std::string.

* Malloc a new buffer for each decode invocation.

I used malloc instead of new since ideally this fuzz target would be
written in C.
2018-12-21 11:20:00 -08:00
Markus Kusano 326bcc9df1 Use experimental mode in mpg123. (#2036) 2018-12-18 14:27:10 -08:00
Markus Kusano 135eb87731 [mpg123] Integrate project along with a fuzz target. (#2032)
* Integrate mpg123 along with a fuzz target.
2018-12-18 11:04:32 -08:00