Fixes: librte_metrics/rte_metrics.c:218:4: error: ‘strncpy’ specified bound 64 equals destination size [-Werror=stringop-truncation] strncpy(names[idx_name].name, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stats->metadata[idx_name].name, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RTE_METRICS_MAX_NAME_LEN); ~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- lib/librte_metrics/rte_metrics.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/librte_metrics/rte_metrics.c b/lib/librte_metrics/rte_metrics.c index 556ae1ba8b4d..ae79d4ab276e 100644 --- a/lib/librte_metrics/rte_metrics.c +++ b/lib/librte_metrics/rte_metrics.c @@ -214,10 +214,13 @@ rte_metrics_get_names(struct rte_metric_name *names, rte_spinlock_unlock(&stats->lock); return return_value; } - for (idx_name = 0; idx_name < stats->cnt_stats; idx_name++) + + for (idx_name = 0; idx_name < stats->cnt_stats; idx_name++) { + memset(names[idx_name].name, 0, RTE_METRICS_MAX_NAME_LEN); strncpy(names[idx_name].name, stats->metadata[idx_name].name, - RTE_METRICS_MAX_NAME_LEN); + RTE_METRICS_MAX_NAME_LEN - 1); + } } return_value = stats->cnt_stats; rte_spinlock_unlock(&stats->lock); -- 2.16.2