From dcec33798ecee1648cae1342eeffb0d10e510ec2 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 10 Oct 2018 11:59:24 +0200 Subject: [PATCH] platform/netlink: fix overrun in attribute iteration in nla_ok() See-also: https://github.com/thom311/libnl/commit/123dc07bcc3f402a500edf370d2000e171c91b34 See-also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1045b03e07d85f3545118510a587035536030c1c (cherry picked from commit c295d45a3b6d01ca454ddfd55a490793dd5f6356) (cherry picked from commit ec1c512e4057a927760e3aea97b2e48c806e91ed) --- src/platform/nm-netlink.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platform/nm-netlink.h b/src/platform/nm-netlink.h index 185269ba35..7d7ea0d283 100644 --- a/src/platform/nm-netlink.h +++ b/src/platform/nm-netlink.h @@ -252,7 +252,7 @@ struct nlattr *nla_find (const struct nlattr *head, int len, int attrtype); static inline int nla_ok (const struct nlattr *nla, int remaining) { - return remaining >= sizeof(*nla) && + return remaining >= (int) sizeof(*nla) && nla->nla_len >= sizeof(*nla) && nla->nla_len <= remaining; }