net/mlx5: fix build with clang 14
Checks
Commit Message
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@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Wed, May 18, 2022 at 11:11:00AM +0200, David Marchand wrote:
> 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@dpdk.org
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Seeing this error with Ubuntu 22.04, and this patch fixes the issue.
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
@@ -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,