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: [email protected]

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>
---
 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 1735157..3d3dd2e 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -1067,7 +1067,7 @@ struct ethtool_link_settings {
 
        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);
-- 
1.8.3.1

Reply via email to