From: Victor Julien Date: Thu, 9 Feb 2023 08:35:48 +0000 (+0100) Subject: stream: remove unnecessary ssn checks X-Git-Tag: suricata-7.0.0-rc2~588 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c3ecf63b1e4c23e042b7ca685d9c6981326f9720;p=thirdparty%2Fsuricata.git stream: remove unnecessary ssn checks Add debug validation to catch any change. --- diff --git a/src/stream-tcp.c b/src/stream-tcp.c index cac98ce3d7..d2acf1d41e 100644 --- a/src/stream-tcp.c +++ b/src/stream-tcp.c @@ -1461,8 +1461,7 @@ static int StreamTcpPacketStateSynSent(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); SCLogDebug("ssn %p: pkt received: %s", ssn, PKT_IS_TOCLIENT(p) ? "toclient":"toserver"); @@ -1800,8 +1799,7 @@ static int StreamTcpPacketStateSynRecv(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -2672,8 +2670,7 @@ static bool StreamTcpPacketIsSpuriousRetransmission(TcpSession *ssn, Packet *p) static int StreamTcpPacketStateEstablished(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -3001,8 +2998,7 @@ static int StreamTcpHandleFin(ThreadVars *tv, StreamTcpThread *stt, static int StreamTcpPacketStateFinWait1(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -3443,8 +3439,7 @@ static int StreamTcpPacketStateFinWait1(ThreadVars *tv, Packet *p, static int StreamTcpPacketStateFinWait2(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -3746,8 +3741,7 @@ static int StreamTcpPacketStateFinWait2(ThreadVars *tv, Packet *p, static int StreamTcpPacketStateClosing(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -3912,9 +3906,7 @@ static int StreamTcpPacketStateCloseWait(ThreadVars *tv, Packet *p, { SCEnter(); - if (ssn == NULL) { - SCReturnInt(-1); - } + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (PKT_IS_TOCLIENT(p)) { SCLogDebug("ssn %p: pkt (%" PRIu32 ") is to client: SEQ " @@ -4213,8 +4205,7 @@ static int StreamTcpPacketStateCloseWait(ThreadVars *tv, Packet *p, static int StreamTcpPacketStateLastAck(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -4338,8 +4329,7 @@ static int StreamTcpPacketStateLastAck(ThreadVars *tv, Packet *p, static int StreamTcpPacketStateTimeWait(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { if (!StreamTcpValidateRst(ssn, p)) @@ -4499,8 +4489,7 @@ static int StreamTcpPacketStateTimeWait(ThreadVars *tv, Packet *p, static int StreamTcpPacketStateClosed(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq) { - if (ssn == NULL) - return -1; + DEBUG_VALIDATE_BUG_ON(ssn == NULL); if (p->tcph->th_flags & TH_RST) { SCLogDebug("RST on closed state"); @@ -4854,6 +4843,8 @@ static inline int StreamTcpStateDispatch(ThreadVars *tv, Packet *p, StreamTcpThread *stt, TcpSession *ssn, PacketQueueNoLock *pq, const uint8_t state) { + DEBUG_VALIDATE_BUG_ON(ssn == NULL); + SCLogDebug("ssn: %p", ssn); switch (state) { case TCP_SYN_SENT: