summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Stewart <pstew@google.com>2017-02-10 00:01:47 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-10 00:01:47 +0000
commit642a497f9c8de5aa9a938edc1f10e5407617860f (patch)
treed2c82636a75931284584c0ccb77b6284f096d3c1
parentdf24328b6ed8bf39af23959b4237742b414c2dd8 (diff)
parent45c4ce4768390d46ca572e2f0fdc452d50b6f78a (diff)
downloadplatform_external_libnl-642a497f9c8de5aa9a938edc1f10e5407617860f.tar.gz
platform_external_libnl-642a497f9c8de5aa9a938edc1f10e5407617860f.tar.bz2
platform_external_libnl-642a497f9c8de5aa9a938edc1f10e5407617860f.zip
Perform range check on len in nlmsg_reserve am: f83d9c1c67 am: d42374324d am: d9f824b744 am: 25edb109fc am: b0a4ed4800 am: 65d4de583a
am: 45c4ce4768 Change-Id: I818b903bad92c4dde312838510d8e1e2c5630435
-rw-r--r--lib/msg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/msg.c b/lib/msg.c
index 9fe9d54..91b86cb 100644
--- a/lib/msg.c
+++ b/lib/msg.c
@@ -518,6 +518,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)