Fragments forming a long message are not caught early

This commit is contained in:
Alex Hultman
2019-12-31 12:56:45 +01:00
parent b9062ec770
commit 54dd866a84
2 changed files with 7 additions and 2 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
# You can select which sanitizer to use by setting this
SANITIZER ?= address
# These are set by OSS-Fuzz, we default to AddressSanitizer
CXXFLAGS ?= -DLIBUS_NO_SSL -fsanitize=$(SANITIZER),fuzzer
CFLAGS ?= -DLIBUS_NO_SSL
override CXXFLAGS += -DLIBUS_NO_SSL -fsanitize=$(SANITIZER),fuzzer
override CFLAGS += -DLIBUS_NO_SSL
OUT ?= .
oss-fuzz:
+5
View File
@@ -100,6 +100,11 @@ private:
if (!webSocketData->fragmentBuffer.length()) {
webSocketData->fragmentBuffer.reserve(length + remainingBytes);
}
/* Fragments forming a big message are not caught until appending them */
if (refusePayloadLength(length + webSocketData->fragmentBuffer.length(), webSocketState, s)) {
forceClose(webSocketState, s);
return true;
}
webSocketData->fragmentBuffer.append(data, length);
/* Are we done now? */