From: Victor Julien Date: Tue, 28 Feb 2017 10:23:27 +0000 (+0100) Subject: stream: more aggressive StreamReassembleRawHasDataReady X-Git-Tag: suricata-4.0.0-beta1~160 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55e19bfb89d9a5d55367a4535c470fd25a7a407a;p=thirdparty%2Fsuricata.git stream: more aggressive StreamReassembleRawHasDataReady --- diff --git a/src/stream-tcp-reassemble.c b/src/stream-tcp-reassemble.c index 6559024200..df208658ad 100644 --- a/src/stream-tcp-reassemble.c +++ b/src/stream-tcp-reassemble.c @@ -1221,10 +1221,17 @@ bool StreamReassembleRawHasDataReady(TcpSession *ssn, Packet *p) stream = &ssn->server; } + if (stream->seg_list == NULL) { + return false; + } + if (stream->flags & STREAMTCP_STREAM_FLAG_NOREASSEMBLY) return false; if (StreamTcpInlineMode() == FALSE) { + if ((STREAM_RAW_PROGRESS(stream) == STREAM_BASE_OFFSET(stream) + stream->sb.buf_offset)) { + return false; + } if (StreamTcpReassembleRawCheckLimit(ssn, stream, p) == 1) { return true; }