From: YOSHIFUJI Hideaki / 吉藤英明 Date: Fri, 18 Jan 2013 02:05:03 +0000 (+0000) Subject: ndisc: Check NS message length before access. X-Git-Tag: v5.15~20710^2~323 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=115b0aa6b444e8dd89b7f67b77b8c472763fbc1a;p=platform%2Fkernel%2Flinux-starfive.git ndisc: Check NS message length before access. Check message length before accessing "target" field, as we do for other types. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller --- diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 429622d..350f860 100644 --- a/net/ipv6/ndisc.c +++ b/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;