]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
stream: fix StreamTcpSegmentForSession missing segments
authorScott Jordan <scottfgjordan@gmail.com>
Fri, 15 Jul 2022 14:50:21 +0000 (10:50 -0400)
committerVictor Julien <vjulien@oisf.net>
Thu, 28 Jul 2022 14:40:02 +0000 (16:40 +0200)
Bugfix, segment traversal was being initialized at root node, but
should have been started at the min node. Bug resulted in captures
missing segments left of root node.

src/stream-tcp.c

index 5378d86c81765358af724620d0dc6cd9bdfa2d73..1d354b0011d3fd17a4f0898e81811a8d49e621ee 100644 (file)
@@ -6452,8 +6452,8 @@ int StreamTcpSegmentForSession(
     TcpStream *server_stream = &(ssn->server);
     TcpStream *client_stream = &(ssn->client);
 
-    TcpSegment *server_node = RB_ROOT(&(server_stream->seg_tree));
-    TcpSegment *client_node = RB_ROOT(&(client_stream->seg_tree));
+    TcpSegment *server_node = RB_MIN(TCPSEG, &server_stream->seg_tree);
+    TcpSegment *client_node = RB_MIN(TCPSEG, &client_stream->seg_tree);
     if (server_node == NULL && client_node == NULL) {
         return cnt;
     }