ipv6: avoid overflow of offset in ip6_find_1stfragopt
authorSabrina Dubroca <sd@queasysnail.net>
Wed, 19 Jul 2017 20:28:55 +0000 (22:28 +0200)
committerSalvatore Bonaccorso <carnil@debian.org>
Sun, 6 Aug 2017 04:24:47 +0000 (05:24 +0100)
commit069b6d029e86abc0688652e922a204632820de90
tree0583e6ffcdb54ac3539a9d77c52f300bb709f342
parent567b85076f56bf26cf7dd0a66478739cc4dceea6
ipv6: avoid overflow of offset in ip6_find_1stfragopt

In some cases, offset can overflow and can cause an infinite loop in
ip6_find_1stfragopt(). Make it unsigned int to prevent the overflow, and
cap it at IPV6_MAXPLEN, since packets larger than that should be invalid.

This problem has been here since before the beginning of git history.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name ipv6-avoid-overflow-of-offset-in-ip6_find_1stfragopt.patch
net/ipv6/output_core.c