diff --git a/[refs] b/[refs] index 89e04183737b..0cb9ad86c5fc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 12fd84f4383b15b0a12cfd50b7c527cd55d6f101 +refs/heads/master: 115b0aa6b444e8dd89b7f67b77b8c472763fbc1a diff --git a/trunk/net/ipv6/ndisc.c b/trunk/net/ipv6/ndisc.c index 429622d74705..350f86005c13 100644 --- a/trunk/net/ipv6/ndisc.c +++ b/trunk/net/ipv6/ndisc.c @@ -671,6 +671,11 @@ static void ndisc_recv_ns(struct sk_buff *skb) bool inc; int is_router = -1; + if (skb->len < sizeof(struct nd_msg)) { + ND_PRINTK(2, warn, "NS: packet too short\n"); + return; + } + if (ipv6_addr_is_multicast(&msg->target)) { ND_PRINTK(2, warn, "NS: multicast target address\n"); return;