From: Scott Jordan Date: Fri, 15 Jul 2022 14:50:21 +0000 (-0400) Subject: stream: fix StreamTcpSegmentForSession missing segments X-Git-Tag: suricata-7.0.0-beta1~346 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7eaf1688b5992c1c951a9b44c3432167d3b0c35b;p=thirdparty%2Fsuricata.git stream: fix StreamTcpSegmentForSession missing segments 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. --- diff --git a/src/stream-tcp.c b/src/stream-tcp.c index 5378d86c81..1d354b0011 100644 --- a/src/stream-tcp.c +++ b/src/stream-tcp.c @@ -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; }