mpv icon indicating copy to clipboard operation
mpv copied to clipboard

fuzzers: add new fuzzer targets

Open kasper93 opened this issue 1 year ago • 1 comments

fuzzer_set_property.c:

fuzz mpv_set_property in both initialized and non-initialized state. Useful for user provided values sanitization test. I've already seen some memory leaks in parsing code, good to drill it.

fuzzer_loadfile.c:

mpv_command "loadfile" test. Good for testing demuxers, decoding and playback loop. Sadly in headless mode we can't really test AO and VO, but at least all the code around can be fuzzed. Especially our custom demuxers like demux_mkv.

fuzzer_loadfile_direct.c:

Similar to loadfile above, but instead of saving the data to file, it passes the fuzz intput in the command. Generated protocol specific versions (mf:// and memory:// for now) and generic one.

Nothing really complex, but good start and even those few targets should give good coverage of the most common code paths in libmpv.

kasper93 avatar Feb 03 '24 04:02 kasper93

Updated fuzzer_set_property with some test files to test also effect of some of the properties.

kasper93 avatar Feb 07 '24 22:02 kasper93

Download the artifacts for this pull request:

Windows
macOS

github-actions[bot] avatar Feb 27 '24 02:02 github-actions[bot]

There were no comments on this, let's merge this, can be always improved. Works well on my side.

kasper93 avatar Apr 27 '24 00:04 kasper93