Commit 0575bedd authored by Andrew Lunn's avatar Andrew Lunn Committed by Jakub Kicinski
Browse files

drivers: net: sky2: Fix -Wstringop-truncation with W=1



In function ‘strncpy’,
    inlined from ‘sky2_name’ at drivers/net/ethernet/marvell/sky2.c:4903:3,
    inlined from ‘sky2_probe’ at drivers/net/ethernet/marvell/sky2.c:5049:2:
./include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]

None of the device names are 16 characters long, so it was never an
issue. But replace the strncpy with an snprintf() to prevent the
theoretical overflow.

Suggested-by: default avatarStephen Hemminger <stephen@networkplumber.org>
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Acked-by: default avatarStephen Hemminger <stephen@networkplumber.org>
Link: https://lore.kernel.org/r/20201110023222.1479398-1-andrew@lunn.ch


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 2492ae6b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4900,7 +4900,7 @@ static const char *sky2_name(u8 chipid, char *buf, int sz)
	};

	if (chipid >= CHIP_ID_YUKON_XL && chipid <= CHIP_ID_YUKON_OP_2)
		strncpy(buf, name[chipid - CHIP_ID_YUKON_XL], sz);
		snprintf(buf, sz, "%s", name[chipid - CHIP_ID_YUKON_XL]);
	else
		snprintf(buf, sz, "(chip %#x)", chipid);
	return buf;