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: 1256805dd5 ("net/mlx5: move Linux-specific functions")
Cc: stable@dpdk.org

Signed-off-by: Michael Baum <michaelba@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
This commit is contained in:
Michael Baum 2020-07-21 12:02:32 +00:00 committed by Ferruh Yigit
parent 4a28e831c9
commit 63d1db710f

View File

@ -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);