d04d6bd392
Avoids this assertion failure: #7 0x7f9fbef8fcf1 in __assert_fail (/lib64/libc.so.6+0x42cf1) (BuildId: cfb059a57e69ac95d5dadab831626b3bd48a4309) #8 0x55d44ed78891 in DocumentBroker::startActivity(DocumentBroker::DocumentState::Activity) /home/vmiklos/git/collaboraonline/online-fuzz/./wsd/DocumentBroker.hpp:1550:13 #9 0x55d44ee0884f in DocumentBroker::startSwitchingToOnline() /home/vmiklos/git/collaboraonline/online-fuzz/wsd/DocumentBroker.cpp:4654:10 #10 0x55d44f05760a in ClientSession::_handleInput(char const*, int) /home/vmiklos/git/collaboraonline/online-fuzz/wsd/ClientSession.cpp:1168:20 Signed-off-by: Miklos Vajna <vmiklos@collabora.com> Change-Id: Iedc515b90c0e4f43dc14f0d998ba5c756fddd10d |
||
---|---|---|
.. | ||
admin-data | ||
data | ||
httpecho-data | ||
httpresponse-data | ||
Admin.cpp | ||
ClientSession.cpp | ||
Common.cpp | ||
Common.hpp | ||
httpecho-fuzz.sh | ||
HttpEcho.cpp | ||
HttpResponse.cpp | ||
README |
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 ----