]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #3186: BUG #713275: Asserting in Http2StreamSplitter with live http2...
authorTom Peters (thopeter) <thopeter@cisco.com>
Wed, 24 Nov 2021 19:46:34 +0000 (19:46 +0000)
committerTom Peters (thopeter) <thopeter@cisco.com>
Wed, 24 Nov 2021 19:46:34 +0000 (19:46 +0000)
Merge in SNORT/snort3 from ~MDAGON/snort3:discard_padding to master

Squashed commit of the following:

commit a1630ebd88c1a1e7e3cb8430af2891ac6f8621a5
Author: Maya Dagon <mdagon@cisco.com>
Date:   Mon Nov 22 17:02:13 2021 -0500

    http2_inspect: discard with padding

src/service_inspectors/http2_inspect/http2_stream_splitter_impl.cc

index 33bec2ec551ee2f7057a8af8dd9d9ca1d2568595..35cd94581941b474a535fa7c48385e1c7a209895 100644 (file)
@@ -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())
                             {