]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #99 in SNORT/snort3 from tcp_reassembly_infinite_seglist_patch...
authorRuss Combs (rucombs) <rucombs@cisco.com>
Tue, 27 Oct 2015 00:52:11 +0000 (20:52 -0400)
committerRuss Combs (rucombs) <rucombs@cisco.com>
Tue, 27 Oct 2015 00:52:11 +0000 (20:52 -0400)
Squashed commit of the following:

commit fb0b59b666c5f561089a884c8491b5e0dc8734e7
Author: davis mcpherson <davis.mcpherson@gmail.com>
Date:   Mon Oct 26 19:23:17 2015 -0400

    init flush_count in TcpReassembler ctor to avoid infinite looping purging seglist

src/stream/tcp/tcp_reassembler.cc
src/stream/tcp/tcp_reassembler.h

index 0f4583948f2f2110861eea63bed0f02ac5331c60..fe23ddf56228b164151907be599314e201bd9ce5 100644 (file)
@@ -495,7 +495,7 @@ int TcpReassembler::flush_data_segments( Packet* p, uint32_t toSeq, uint8_t* flu
     uint32_t total = toSeq - seglist.next->seq;
     while( SEQ_LT(seglist.next->seq, toSeq ) )
     {
-        TcpSegment* ss = seglist.next, *sr;
+        TcpSegment* ss = seglist.next, *sr = nullptr;
         unsigned flushbuf_size = flushbuf_end - flushbuf;
         unsigned bytes_to_copy = get_flush_data_len( ss, toSeq, flushbuf_size );
         unsigned bytes_copied = 0;
index 7716bad41bae8866f0659263a03ff71b63b167f5..bfeb5ec1e9a1c64ccfbdf77d0c813f6961f57821 100644 (file)
@@ -127,7 +127,7 @@ protected:
     uint32_t xtradata_mask; /* extra data available to log */
 
     TcpReassembler( TcpSession* session, TcpTracker* tracker, StreamPolicy os_policy, bool server ) :
-        server_side( server ), tracker(tracker)
+        server_side( server ), tracker(tracker), flush_count( 0 ), xtradata_mask( 0 )
     {
         this->session = session;
         set_tcp_reassembly_policy( os_policy );