From: Stephen Hemminger Date: Thu, 26 Jun 2025 13:50:17 +0000 (-0700) Subject: bond: fix stack smash in xstats X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;p=thirdparty%2Fiproute2.git bond: fix stack smash in xstats Building with stack smashing detection finds an off by one in the bond xstats attribute parsing. $ ip link xstats type bond dev bond0 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". bond0 LACPDU Rx 0 LACPDU Tx 0 LACPDU Unknown type Rx 0 LACPDU Illegal Rx 0 Marker Rx 0 Marker Tx 0 Marker response Rx 0 Marker response Tx 0 Marker unknown type Rx 0 *** stack smashing detected ***: terminated Program received signal SIGABRT, Aborted. Reported-by: z30015464 Fixes: 440c5075d662 ("ip: bond: add xstats support") Signed-off-by: Stephen Hemminger Acked-by: Nikolay Aleksandrov --- diff --git a/ip/iplink_bond.c b/ip/iplink_bond.c index 19af67d0..62dd907c 100644 --- a/ip/iplink_bond.c +++ b/ip/iplink_bond.c @@ -852,7 +852,7 @@ static void bond_print_stats_attr(struct rtattr *attr, int ifindex) const char *ifname = ""; int rem; - parse_rtattr(bondtb, LINK_XSTATS_TYPE_MAX+1, RTA_DATA(attr), + parse_rtattr(bondtb, LINK_XSTATS_TYPE_MAX, RTA_DATA(attr), RTA_PAYLOAD(attr)); if (!bondtb[LINK_XSTATS_TYPE_BOND]) return;