summaryrefslogtreecommitdiffstats
path: root/lib/int_sqrt.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2017-04-13 18:35:59 +0800
committerSteffen Klassert <steffen.klassert@secunet.com>2017-04-18 08:26:03 +0200
commit096f41d3a8fcbb8dde7f71379b1ca85fe213eded (patch)
tree7a44309e40adeb5fcd793826b55047d4189f9a84 /lib/int_sqrt.c
parent89e357d83c06b6fac581c3ca7f0ee3ae7e67109e (diff)
downloadlinux-096f41d3a8fcbb8dde7f71379b1ca85fe213eded.tar.bz2
af_key: Fix sadb_x_ipsecrequest parsing
The parsing of sadb_x_ipsecrequest is broken in a number of ways. First of all we're not verifying sadb_x_ipsecrequest_len. This is needed when the structure carries addresses at the end. Worse we don't even look at the length when we parse those optional addresses. The migration code had similar parsing code that's better but it also has some deficiencies. The length is overcounted first of all as it includes the header itself. It also fails to check the length before dereferencing the sa_family field. This patch fixes those problems in parse_sockaddr_pair and then uses it in parse_ipsecrequest. Reported-by: Andrey Konovalov <andreyknvl@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'lib/int_sqrt.c')
0 files changed, 0 insertions, 0 deletions