Add fuzzing support for some libpurple features

Review Request #760 — Created June 17, 2021 and submitted — Latest diff uploaded

Information

pidgin/pidgin
release-2.x.y
f76508a3cd3c

Reviewers

Add fuzzing support for some libpurple features

Hi!

I built and tested all of these fuzzers for libpurple.

You can build them by first building pidgin/libpurple with --enable-fuzzing then going into libpurple/tests and run make check. After that you can run these fuzzers. With a dictionary if you want :)

for example:

$ ./fuzz_markup_strip_html -dict=dictionaries/html.dict
Dictionary: 465 entries
INFO: Seed: 2274862685
INFO: Loaded 1 modules   (3 inline 8-bit counters): 3 [0x5a4ec0, 0x5a4ec3),
INFO: Loaded 1 PC tables (3 PCs): 3 [0x568ee8,0x568f18),
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
INFO: A corpus is not provided, starting from an empty corpus
#2      INITED cov: 2 ft: 2 corp: 1/1b exec/s: 0 rss: 30Mb
#1048576        pulse  cov: 2 ft: 2 corp: 1/1b lim: 4096 exec/s: 524288 rss: 789Mb
#2097152        pulse  cov: 2 ft: 2 corp: 1/1b lim: 4096 exec/s: 524288 rss: 792Mb

Best Regards,

Jordy Zomer