diff options
author | Paul Stewart <pstew@google.com> | 2017-02-10 00:57:29 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-02-10 00:57:29 +0000 |
commit | 0d10a1a06900ae59a8e96eb8f27f49c7c87d87c6 (patch) | |
tree | cde2bac0f3869b0893b2d9c16efdf41c0a8b7d96 | |
parent | 4a6550acc83572664f83d5cfc6c4d29daa201223 (diff) | |
parent | 8ebc658da0069182203db9a2fb5c54008912da1a (diff) | |
download | libnl-0d10a1a06900ae59a8e96eb8f27f49c7c87d87c6.tar.gz |
Perform range check on len in nlmsg_reserve am: f83d9c1c67 am: d42374324d am: d9f824b744 am: 25edb109fc am: b0a4ed4800 am: 65d4de583a am: 45c4ce4768 am: 642a497f9c am: 170a7d24f4 am: 0a37ab0fdd am: 1ff6ec5e40 am: a1fbdcb6df
am: 8ebc658da0
Change-Id: I7efccc7b4c8a55c5006099b4d8f0d04f1908a897
-rw-r--r-- | lib/msg.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -410,6 +410,9 @@ void *nlmsg_reserve(struct nl_msg *n, size_t len, int pad) size_t nlmsg_len = n->nm_nlh->nlmsg_len; size_t tlen; + if (len > n->nm_size) + return NULL; + tlen = pad ? ((len + (pad - 1)) & ~(pad - 1)) : len; if ((tlen + nlmsg_len) > n->nm_size) |