utils: fix invalid memory access in fw3_bitlen2netmask()
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 17 Sep 2014 17:49:53 +0000 (19:49 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 17 Sep 2014 21:28:54 +0000 (23:28 +0200)
commit7c63f4f5a9983f9b81d90cfdf09e6fca0cfbf52d
treed4552264065c4d33bf17026b44d954c19ab841ff
parent8205107ffd31a21c1d4d93eaa7a44d41c6c3c10d
utils: fix invalid memory access in fw3_bitlen2netmask()

When fw3_bitlen2netmask() is invoked with a bit length of 128, the next
byte after the end of struct in6_addr is errorneously zeroed, leading to
a heap corruption on at least x86_64 with uclibc and possibly others.

Prevent the invalid writes by explicitely testing for a bit count < 128.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
utils.c