defrag: don't use trackers marked for removal

These trackers are likely for completed fragments, but have
not been cleaned up. If a packet on the same flow with an
already seen IP ID is seen, it could be reused prior to
being properly reinitialized.
pull/1675/head
Jason Ish 10 years ago committed by Victor Julien
parent ed400acf8e
commit 69b4218afc

@ -526,7 +526,7 @@ DefragTracker *DefragGetTrackerFromHash (Packet *p)
dt = hb->head;
/* see if this is the tracker we are looking for */
if (DefragTrackerCompare(dt, p) == 0) {
if (dt->remove || DefragTrackerCompare(dt, p) == 0) {
DefragTracker *pdt = NULL; /* previous tracker */
while (dt) {

Loading…
Cancel
Save