X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=sys%2Fsrc%2F9%2Fip%2Ficmp6.c;h=b814070deeed8f067a143d49eaf879abf82cdf08;hb=5c945a0b4891a20deeb023b3bd40dee5dda1aaff;hp=bceb6aeff1ee2aed07609dd48e03e3f34bed2865;hpb=cff1ab5fdf116183845581953ee4d8e2665770d4;p=plan9front.git diff --git a/sys/src/9/ip/icmp6.c b/sys/src/9/ip/icmp6.c index bceb6aeff..b814070de 100644 --- a/sys/src/9/ip/icmp6.c +++ b/sys/src/9/ip/icmp6.c @@ -617,7 +617,7 @@ valid(Proto *icmp, Ipifc *ifc, Block *bp, Icmppriv6 *ipriv) goto err; } sz = IPICMPSZ + 8; - while (sz+1 < pktsz) { + while (sz+8 <= pktsz) { osz = packet[sz+1]; if(osz <= 0) { ipriv->stats[OptlenErrs6]++; @@ -634,7 +634,7 @@ valid(Proto *icmp, Ipifc *ifc, Block *bp, Icmppriv6 *ipriv) } unsp = (ipcmp(p->src, v6Unspecified) == 0); sz = IPICMPSZ + 8; - while (sz+1 < pktsz) { + while (sz+8 <= pktsz) { osz = packet[sz+1]; if(osz <= 0 || (unsp && packet[sz] == SRC_LLADDR)) {