aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv6/ndisc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 429622d74705..350f86005c13 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -671,6 +671,11 @@ static void ndisc_recv_ns(struct sk_buff *skb)
671 bool inc; 671 bool inc;
672 int is_router = -1; 672 int is_router = -1;
673 673
674 if (skb->len < sizeof(struct nd_msg)) {
675 ND_PRINTK(2, warn, "NS: packet too short\n");
676 return;
677 }
678
674 if (ipv6_addr_is_multicast(&msg->target)) { 679 if (ipv6_addr_is_multicast(&msg->target)) {
675 ND_PRINTK(2, warn, "NS: multicast target address\n"); 680 ND_PRINTK(2, warn, "NS: multicast target address\n");
676 return; 681 return;