fix a bug in the fragment cache (used for 'scrub fragment crop/drop-ovl',

but not 'fragment reassemble'), which can cause some fragments to get
inserted into the cache twice, thereby violating an invariant, and panic-
ing the system subsequently.

Reviewed by:	mlaier
MFC after:	1 day
This commit is contained in:
Daniel Hartmeier 2006-01-19 11:46:45 +00:00
parent 254f2fa208
commit 31f9d10a77
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=154551

View file

@ -824,7 +824,7 @@ pf_fragcache(struct mbuf **m0, struct ip *h, struct pf_fragment **frag, int mff,
} else {
hosed++;
}
} else {
} else if (frp == NULL) {
/* There is a gap between fragments */
DPFPRINTF(("fragcache[%d]: gap %d %d-%d (%d-%d)\n",
h->ip_id, -aftercut, off, max, fra->fr_off,