mirror of https://github.com/OISF/suricata
app-layer: fix inverted tx inspected flag check
Issue: 8628 AppLayerParserSetTransactionInspectId() had an inverted guard when tagging completed transactions as inspected: it set the INSPECTED flag only on txs that already had it, so a finished tx was never newly marked. On a normal flow DetectRunTx() sets the same flag and masks the mistake. On a passed flow -- a `pass` rule or a pass-the-flow exception policy -- detection is skipped and this function is the only thing that marks txs inspected. With the inverted guard the transactions are never flagged, AppLayerParserTransactionsCleanup() never frees them, and the per-flow transaction list grows without bound while each packet re-scans it, giving O(n^2) cleanup cost. This is an unintended regression frompull/15731/head834378ff88. (cherry picked from commit006e21c1cc)
parent
f2ef8e0805
commit
60a83c62a1
Loading…
Reference in New Issue