pidgin/pidgin

Add fuzzing support for some libpurple features
release-2.x.y
2021-06-24, Jordy Zomer <>
97c51d97d375
Add fuzzing support for some libpurple features

Testing Done:
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:
```bash
$ ./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

Reviewed at https://reviews.imfreedom.org/r/760/
syntax: glob
.DS_Store
syntax: regexp
(.*/)?TAGS$
(.*/)?\.svn
.*.swp
.*/?.*\.pc$
.*/?Makefile(\.in)?$
.*/?Makefile\.am\.mingw$
.*/perl/common/[^/]+\.c$
.*/perl/common/blib.*
.*/perl/common/pm_to_blib$
.*/perl/common/MYMETA\.(json|yml)
.*~$
.*\.a$
.*\.asc$
.*\.bak$
.*\.bs$
.*\.def$
\.deps
.*\.dll$
.*\.exe$
.*\.g?mo$
.*\.la$
\.libs
.*\.lo$
.*\.loT$
.*\.o$
.*\.orig$
.*\.pyc$
.*\.pyo$
.*\.rej$
.*\.so$
Doxyfile(\.mingw)?$
VERSION$
aclocal.m4
autogen.args
autom4te.*\.cache
compile
config.cache
config.guess
config.h$
config.h.in
config.log
config.status
config.sub
configure$
depcomp
doc/finch.1$
doc/html
doc/pidgin.1$
finch/finch$
finch/libgnt/gntmarshal.c
finch/libgnt/gntmarshal.h
install-sh
intltool-.*
libpurple/dbus-bindings.c
libpurple/dbus-signals.c
libpurple/dbus-types.c
libpurple/dbus-types.h
libpurple/example/nullclient
libpurple/data/gconf/purple.schemas$
libpurple/marshallers.[ch]
libpurple/plugins/dbus-example-bindings.c
libpurple/plugins/perl/common/Makefile.PL$
libpurple/plugins/perl/common/Makefile.old
libpurple/plugins/perl/common/const-c.inc
libpurple/plugins/perl/common/const-xs.inc
libpurple/plugins/perl/common/lib
libpurple/purple-client-bindings.c
libpurple/purple-client-bindings.h
libpurple/purple-client-example
libpurple/purple.h$
libpurple/tests/check_libpurple
libpurple/tests/libpurple..
libpurple/version.h$
libpurple/win32/libpurplerc.rc$
libtool
local.mak
ltmain.sh
missing
mkinstalldirs
package_revision.h
package_revision_raw.txt
pidgin-*.*.*-dbgsym$
pidgin-*.*.*-dbgsym.zip$
pidgin-*.*.*-win32-bin.zip$
pidgin-*.*.*-win32bin$
pidgin-.*.tar.bz2
pidgin-.*.tar.gz
pidgin-[0-9a-z.-]+/
pidgin.apspec$
pidgin.spec$
pidgin/pidgin$
pidgin/data/pidgin.appdata.xml$
pidgin/data/pidgin.desktop$
pidgin/data/pidgin.desktop.in$
pidgin/pixmaps/emotes/default/24/theme
pidgin/pixmaps/emotes/none/theme
pidgin/pixmaps/emotes/small/16/theme
pidgin/plugins/musicmessaging/music-messaging-bindings.c
pidgin/plugins/perl/common/Makefile.PL$
pidgin/plugins/perl/common/Makefile.old
pidgin/win32/nsis/gtk-runtime-*.*.*.*.zip
pidgin/win32/nsis/gtk_runtime_stage$
pidgin/win32/nsis/langmacros.nsh
pidgin/win32/nsis/nsis_translations.desktop
pidgin/win32/nsis/pidgin-spellcheck-preselect.nsh
pidgin/win32/nsis/pidgin-spellcheck.nsh
pidgin/win32/nsis/pidgin-translations.nsh$
pidgin/win32/nsis/translations
pidgin/win32/pidgin_dll_rc.rc$
pidgin/win32/pidgin_exe_rc.rc$
po/Makefile.in.in
po/POTFILES$
po/missing
po/notexist
po/pidgin.pot
po/stamp-it
stamp-h1
test-driver
win32-install-dir(\.release)?
share/ca-certs/certdata.txt