From: Michael Baum Date: Tue, 21 Jul 2020 12:02:32 +0000 (+0000) Subject: net/mlx5: fix unlimited parsing of switch info X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=63d1db710fbc0a05d187fef37fbc4417cf7388b1;p=dpdk.git net/mlx5: fix unlimited parsing of switch info In mlx5_sysfs_switch_info function, the driver gets switch information associated with network interface. The driver writes the port name into buffer and translates it. However, when it writes the name, it does not limit writing to the buffer size. Limit writing to the size of the buffer. Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions") Cc: stable@dpdk.org Signed-off-by: Michael Baum Acked-by: Matan Azrad --- diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c index 1735157c79..3d3dd2e862 100644 --- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c +++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c @@ -1067,7 +1067,7 @@ mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info) file = fopen(phys_port_name, "rb"); if (file != NULL) { - ret = fscanf(file, "%s", port_name); + ret = fscanf(file, "%" RTE_STR(IF_NAMESIZE) "s", port_name); fclose(file); if (ret == 1) mlx5_translate_port_name(port_name, &data);