diff --git a/fuzzing/MockedEchoServer.cpp b/fuzzing/MockedEchoServer.cpp index c7cd5d7..d547d15 100644 --- a/fuzzing/MockedEchoServer.cpp +++ b/fuzzing/MockedEchoServer.cpp @@ -23,10 +23,20 @@ extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) { .idleTimeout = 10, /* Handlers */ .open = [](auto *ws, auto *req) { - + if (req->getHeader("close_me").length()) { + ws->close(); + } else if (req->getHeader("end_me").length()) { + ws->end(1006); + } }, .message = [](auto *ws, std::string_view message, uWS::OpCode opCode) { - ws->send(message, opCode); + if (message.length() && message[0] == 'C') { + ws->close(); + } else if (message.length() && message[0] == 'E') { + ws->end(1006); + } else { + ws->send(message, opCode, true); + } }, .drain = [](auto *ws) { /* Check getBufferedAmount here */