net/sfc: make sure that stats name is nul-terminated
Fixes:73280c1e4f
("net/sfc: support xstats retrieval by ID") Fixes:7b9891769f
("net/sfc: support extended statistics") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
This commit is contained in:
parent
f28742ba06
commit
ed5b98483a
@ -13,6 +13,7 @@
|
||||
#include <rte_pci.h>
|
||||
#include <rte_bus_pci.h>
|
||||
#include <rte_errno.h>
|
||||
#include <rte_string_fns.h>
|
||||
|
||||
#include "efx.h"
|
||||
|
||||
@ -648,7 +649,7 @@ sfc_xstats_get_names(struct rte_eth_dev *dev,
|
||||
for (i = 0; i < EFX_MAC_NSTATS; ++i) {
|
||||
if (EFX_MAC_STAT_SUPPORTED(port->mac_stats_mask, i)) {
|
||||
if (xstats_names != NULL && nstats < xstats_count)
|
||||
strncpy(xstats_names[nstats].name,
|
||||
strlcpy(xstats_names[nstats].name,
|
||||
efx_mac_stat_name(sa->nic, i),
|
||||
sizeof(xstats_names[0].name));
|
||||
nstats++;
|
||||
@ -726,9 +727,8 @@ sfc_xstats_get_names_by_id(struct rte_eth_dev *dev,
|
||||
if ((ids == NULL) || (ids[nb_written] == nb_supported)) {
|
||||
char *name = xstats_names[nb_written++].name;
|
||||
|
||||
strncpy(name, efx_mac_stat_name(sa->nic, i),
|
||||
strlcpy(name, efx_mac_stat_name(sa->nic, i),
|
||||
sizeof(xstats_names[0].name));
|
||||
name[sizeof(xstats_names[0].name) - 1] = '\0';
|
||||
}
|
||||
|
||||
++nb_supported;
|
||||
|
Loading…
Reference in New Issue
Block a user