If we are walking the IPv6 header chain and we hit an IPPROTO_NONE
header, then don't try to pullup anything, because there is no next header if we hit IPPROTO_NONE. Set ulp to a non-NULL value so the search for an upper layer header terinates. This is based on Pekka's diagnosis, but I chose a simpler fix. PR: 115261 Submitted by: Pekka Savola <pekkas@netcore.fi> Reviewed by: mlaier MFC after: 2 weeks
This commit is contained in:
parent
dcdaad925d
commit
71bd9b9cf9
@ -2535,9 +2535,12 @@ do { \
|
||||
break;
|
||||
|
||||
case IPPROTO_NONE: /* RFC 2460 */
|
||||
PULLUP_TO(hlen, ulp, struct ip6_ext);
|
||||
/* Packet ends here. if ip6e_len!=0 octets
|
||||
* must be ignored. */
|
||||
/*
|
||||
* Packet ends here, and IPv6 header has
|
||||
* already been pulled up. If ip6e_len!=0
|
||||
* then octets must be ignored.
|
||||
*/
|
||||
ulp = ip; /* non-NULL to get out of loop. */
|
||||
break;
|
||||
|
||||
case IPPROTO_OSPFIGP:
|
||||
|
Loading…
Reference in New Issue
Block a user