From: Tom Peters (thopeter) Date: Wed, 24 Nov 2021 19:46:34 +0000 (+0000) Subject: Pull request #3186: BUG #713275: Asserting in Http2StreamSplitter with live http2... X-Git-Tag: 3.1.18.0~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c76b7d86a39fa46da029f8471652bc28e68e400d;p=thirdparty%2Fsnort3.git Pull request #3186: BUG #713275: Asserting in Http2StreamSplitter with live http2 traffic Merge in SNORT/snort3 from ~MDAGON/snort3:discard_padding to master Squashed commit of the following: commit a1630ebd88c1a1e7e3cb8430af2891ac6f8621a5 Author: Maya Dagon Date: Mon Nov 22 17:02:13 2021 -0500 http2_inspect: discard with padding --- diff --git a/src/service_inspectors/http2_inspect/http2_stream_splitter_impl.cc b/src/service_inspectors/http2_inspect/http2_stream_splitter_impl.cc index 33bec2ec5..35cd94581 100644 --- a/src/service_inspectors/http2_inspect/http2_stream_splitter_impl.cc +++ b/src/service_inspectors/http2_inspect/http2_stream_splitter_impl.cc @@ -197,6 +197,7 @@ StreamSplitter::Status Http2StreamSplitter::implement_scan(Http2FlowData* sessio session_data->remaining_data_padding[source_id] <= (length - data_offset) ? session_data->remaining_data_padding[source_id] : (length - data_offset); session_data->remaining_data_padding[source_id] -= avail; + assert(session_data->scan_remaining_frame_octets[source_id] >= avail); session_data->scan_remaining_frame_octets[source_id] -= avail; session_data->payload_discard[source_id] = true; *flush_offset = avail; @@ -351,6 +352,7 @@ StreamSplitter::Status Http2StreamSplitter::implement_scan(Http2FlowData* sessio remaining = 0; session_data->header_octets_seen[source_id] = 0; session_data->scan_state[source_id] = SCAN_FRAME_HEADER; + session_data->remaining_data_padding[source_id] = 0; if (!session_data->frame_lengths[source_id].empty()) {