ece8e4c262
gcc 10.0.1 reports:
../drivers/net/hinic/base/hinic_pmd_hwdev.c: In function ‘print_cable_info’:
../drivers/net/hinic/base/hinic_pmd_hwdev.c:1398:3:
warning:
‘snprintf’ argument 4 may overlap destination object ‘tmp_str’
[-Wrestrict]
1398 | snprintf(tmp_str + strlen(tmp_str), (sizeof(tmp_str) - 1),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1399 | "%s, Temperature: %u", tmp_str,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1400 | info->cable_temp);
| ~~~~~~~~~~~~~~~~~
The warning is that tmp_str is in both src and dest.
Anyway, the current code is incorrect and because of the +strlen
the existing string will be repeated twice and max length
does not limit to the end of the string.
Fix by removing tmp_str from the src of snprintf and adding the
correct max length.
Fixes:
|
||
---|---|---|
.. | ||
base | ||
hinic_pmd_ethdev.c | ||
hinic_pmd_ethdev.h | ||
hinic_pmd_flow.c | ||
hinic_pmd_rx.c | ||
hinic_pmd_rx.h | ||
hinic_pmd_tx.c | ||
hinic_pmd_tx.h | ||
Makefile | ||
meson.build | ||
rte_pmd_hinic_version.map |