summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Stewart <pstew@google.com>2017-02-09 23:49:45 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-09 23:49:45 +0000
commitd42374324d24f10e8156208e9b99037bd09d3fed (patch)
tree5f6397a485df7334ccd21b4a0a66e2b903a94686
parentc198930bbbfe19e8e0a986189f9f01d3730f8d8a (diff)
parentf83d9c1c67b6be69a96995e384f50b572b667df0 (diff)
downloadlibnl-d42374324d24f10e8156208e9b99037bd09d3fed.tar.gz
Perform range check on len in nlmsg_reserve
am: f83d9c1c67 Change-Id: Ie702166cfd63a452792704a608c82e8481b3c123
-rw-r--r--lib/msg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/msg.c b/lib/msg.c
index 9fe9d541..91b86cbd 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)