ANDROID: net: ipv6: fix crash caused by ipv6_find_hdr()
authorJP Abgrall <jpa@google.com>
Thu, 29 Sep 2011 22:36:49 +0000 (15:36 -0700)
committerAmit Pundir <amit.pundir@linaro.org>
Mon, 18 Dec 2017 15:41:22 +0000 (21:11 +0530)
commit18c6795bc20a944ab007d22b266bcbf0cf77f737
tree8d0d848150ba55755ede1ed8c140e26643efa70b
parentd139975cd572f77e187a46bfef1b25d334cdf036
ANDROID: net: ipv6: fix crash caused by ipv6_find_hdr()

When calling:
    ipv6_find_hdr(skb, &thoff, -1, NULL)
on a fragmented packet, thoff would be left with a random
value causing callers to read random memory offsets with:
    skb_header_pointer(skb, thoff, ...)

Now we force ipv6_find_hdr() to return a failure in this case.
Calling:
  ipv6_find_hdr(skb, &thoff, -1, &fragoff)
will set fragoff as expected, and not return a failure.

Change-Id: Ib474e8a4267dd2b300feca325811330329684a88
Signed-off-by: JP Abgrall <jpa@google.com>
net/ipv6/exthdrs_core.c