]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ip/iplink: fix off-by-one KIND length in modify()
authorJan Vaclav <jvaclav@redhat.com>
Tue, 13 Jan 2026 11:41:27 +0000 (12:41 +0100)
committerStephen Hemminger <stephen@networkplumber.org>
Wed, 14 Jan 2026 18:55:59 +0000 (10:55 -0800)
The expected size for IFLA_INFO_KIND in kernel is strlen(kind) + 1.
See `size` in rtnl_link_get_size() in net/core/rtnetlink.c.

Fixes: 1d93483985f0 ("iplink: use netlink for link configuration")
Reported-by: Gris Ge <fge@redhat.com>
Signed-off-by: Jan Vaclav <jvaclav@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
ip/iplink.c

index 59e8caf43d59bb718e2c5cd43acf3c02bdfe6d72..fce6631d2d821a8739d28805e13d98f6804bda30 100644 (file)
@@ -1139,7 +1139,7 @@ static int iplink_modify(int cmd, unsigned int flags, int argc, char **argv)
 
                linkinfo = addattr_nest(&req.n, sizeof(req), IFLA_LINKINFO);
                addattr_l(&req.n, sizeof(req), IFLA_INFO_KIND, type,
-                        strlen(type));
+                        strlen(type) + 1);
 
                lu = get_link_kind(type);
                if (ulinep && !strcmp(ulinep, "_slave"))