libreoffice-online/fuzzer
Ashod Nakashian 81399bff64 fuzzers: fixup HttpEcho
This improves the performance of fuzzing
and removes the checks that can't be guaranteed.

And fixes a test failure.

Change-Id: I987fe15b098c00d9a3d60077f0581d2ef35e306c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-17 08:55:12 -04:00
..
admin-data
data
httpecho-data fuzzers: add http corpus and dictionary 2022-08-17 08:55:12 -04:00
httpresponse-data
Admin.cpp
ClientSession.cpp
httpecho-fuzz.sh fuzzers: add httpecho fuzzer script 2022-08-17 08:55:12 -04:00
HttpEcho.cpp fuzzers: fixup HttpEcho 2022-08-17 08:55:12 -04:00
HttpResponse.cpp fuzzers: more aggressive http::Response fuzzing 2022-08-17 08:55:12 -04:00
README fuzzers: add httpecho fuzzer script 2022-08-17 08:55:12 -04:00

These fuzzers are meant to be built and executed inside lode.git's sanitizers
environment (currently enables both asan and ubsan).

online.git can be built the usual way, just the additional `--enable-fuzzers`
flag is needed to build the fuzzers. It is useful to do this in a separate
build tree, since the fuzzers config doesn't produce a `coolwsd` binary.

Run the fuzzers like this:

- Admin:

----
./admin_fuzzer -max_len=16384 fuzzer/admin-data/
----

- ClientSession:

----
./clientsession_fuzzer -max_len=16384 fuzzer/data/
----

- HttpResponse:

----
./httpresponse_fuzzer -max_len=16384 fuzzer/httpresponse-data/
----

- HttpEcho:

----
./httpecho_fuzzer -max_len=16384 fuzzer/httpecho-data/
OR, better:
./fuzzer/httpecho-fuzz.sh
----