diff options
Diffstat (limited to 'net/ipv6/datagram.c')
| -rw-r--r-- | net/ipv6/datagram.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c index 410046a8cc9..e44deb8d4df 100644 --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c @@ -661,6 +661,11 @@ int datagram_send_ctl(struct net *net,  			switch (rthdr->type) {  #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)  			case IPV6_SRCRT_TYPE_2: +				if (rthdr->hdrlen != 2 || +				    rthdr->segments_left != 1) { +					err = -EINVAL; +					goto exit_f; +				}  				break;  #endif  			default:  |