[PATCH] net/mlx5: fix build with clang 14

David Marchand david.marchand at redhat.com
Wed May 18 11:11:00 CEST 2022


clang 14 raises the following warning:

../drivers/net/mlx5/linux/mlx5_ethdev_os.c:1137:52: error: 'fscanf'
    may overflow; destination buffer in argument 3 has size 16, but the
    corresponding specifier may require size 17
    [-Werror,-Wfortify-source]
                ret = fscanf(file, "%" RTE_STR(IF_NAMESIZE) "s",
                    port_name);

Extend port_name so that it can fit a null terminated string.

Fixes: 63d1db710fbc ("net/mlx5: fix unlimited parsing of switch info")
Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
Cc: stable at dpdk.org

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 8fe73f1adb..e0a22ac78f 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -1105,7 +1105,7 @@ int
 mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info)
 {
 	char ifname[IF_NAMESIZE];
-	char port_name[IF_NAMESIZE];
+	char port_name[IF_NAMESIZE + 1];
 	FILE *file;
 	struct mlx5_switch_info data = {
 		.master = 0,
-- 
2.36.1



More information about the stable mailing list