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: sta...@dpdk.org

Signed-off-by: David Marchand <david.march...@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

Reply via email to