apply a fix from OpenBSD:
> revision 1.104 > date: 2006/01/18 22:03:21; author: dhartmei; state: Exp; lines: +2 -2 > 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. ok deraadt@
This commit is contained in:
parent
3ac7a40466
commit
10f6d07582
4
sys/dist/pf/net/pf_norm.c
vendored
4
sys/dist/pf/net/pf_norm.c
vendored
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: pf_norm.c,v 1.10 2005/12/11 12:24:25 christos Exp $ */
|
/* $NetBSD: pf_norm.c,v 1.11 2006/01/25 10:45:20 peter Exp $ */
|
||||||
/* $OpenBSD: pf_norm.c,v 1.97 2004/09/21 16:59:12 aaron Exp $ */
|
/* $OpenBSD: pf_norm.c,v 1.97 2004/09/21 16:59:12 aaron Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -728,7 +728,7 @@ pf_fragcache(struct mbuf **m0, struct ip *h, struct pf_fragment **frag, int mff,
|
|||||||
} else {
|
} else {
|
||||||
hosed++;
|
hosed++;
|
||||||
}
|
}
|
||||||
} else {
|
} else if (frp == NULL) {
|
||||||
/* There is a gap between fragments */
|
/* There is a gap between fragments */
|
||||||
DPFPRINTF(("fragcache[%d]: gap %d %d-%d (%d-%d)\n",
|
DPFPRINTF(("fragcache[%d]: gap %d %d-%d (%d-%d)\n",
|
||||||
h->ip_id, -aftercut, off, max, fra->fr_off,
|
h->ip_id, -aftercut, off, max, fra->fr_off,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user