From: Victor Julien Date: Thu, 9 Feb 2023 15:35:53 +0000 (+0100) Subject: stream: move state queue code into util func X-Git-Tag: suricata-7.0.0-rc2~586 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=288086af3feb40318784b5fa1e92d73c11081481;p=thirdparty%2Fsuricata.git stream: move state queue code into util func --- diff --git a/src/stream-tcp.c b/src/stream-tcp.c index 6fe7c61426..9d57789a41 100644 --- a/src/stream-tcp.c +++ b/src/stream-tcp.c @@ -204,6 +204,20 @@ void StreamTcpStreamCleanup(TcpStream *stream) } } +static void StreamTcp3wsFreeQueue(TcpSession *ssn) +{ + TcpStateQueue *q, *q_next; + q = ssn->queue; + while (q != NULL) { + q_next = q->next; + SCFree(q); + q = q_next; + StreamTcpDecrMemuse((uint64_t)sizeof(TcpStateQueue)); + } + ssn->queue = NULL; + ssn->queue_len = 0; +} + /** * \brief Session cleanup function. Does not free the ssn. * \param ssn tcp session @@ -211,23 +225,13 @@ void StreamTcpStreamCleanup(TcpStream *stream) void StreamTcpSessionCleanup(TcpSession *ssn) { SCEnter(); - TcpStateQueue *q, *q_next; if (ssn == NULL) return; StreamTcpStreamCleanup(&ssn->client); StreamTcpStreamCleanup(&ssn->server); - - q = ssn->queue; - while (q != NULL) { - q_next = q->next; - SCFree(q); - q = q_next; - StreamTcpDecrMemuse((uint64_t)sizeof(TcpStateQueue)); - } - ssn->queue = NULL; - ssn->queue_len = 0; + StreamTcp3wsFreeQueue(ssn); SCReturn; }