[dpdk-dev] [PATCH 1/2] rte_mempool: fix strncpy warnings
Stephen Hemminger
stephen at networkplumber.org
Mon Mar 19 18:52:12 CET 2018
Gcc-8 discovers issue with platform_mempool_ops.
rte_mbuf_pool_ops.c:26:3: error: ‘strncpy’ output truncated before
terminating nul copying as many bytes from a string as its length
[-Werror=stringop-truncation]
strncpy(mz->addr, ops_name, strlen(ops_name));
The issue is that the size should be size in destination not source.
Fixes: a3acc3144a76 ("mbuf: add pool ops selection functions")
---
lib/librte_mbuf/rte_mbuf_pool_ops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_mbuf/rte_mbuf_pool_ops.c b/lib/librte_mbuf/rte_mbuf_pool_ops.c
index 48cc342002a5..661cf4fb401f 100644
--- a/lib/librte_mbuf/rte_mbuf_pool_ops.c
+++ b/lib/librte_mbuf/rte_mbuf_pool_ops.c
@@ -23,7 +23,7 @@ rte_mbuf_set_platform_mempool_ops(const char *ops_name)
RTE_MEMPOOL_OPS_NAMESIZE, SOCKET_ID_ANY, 0);
if (mz == NULL)
return -rte_errno;
- strncpy(mz->addr, ops_name, strlen(ops_name));
+ strncpy(mz->addr, ops_name, sizeof(mz->addr) - 1);
return 0;
} else if (strcmp(mz->addr, ops_name) == 0) {
return 0;
@@ -62,7 +62,7 @@ rte_mbuf_set_user_mempool_ops(const char *ops_name)
return -rte_errno;
}
- strncpy(mz->addr, ops_name, strlen(ops_name));
+ strncpy(mz->addr, ops_name, sizeof(mz->addr) - 1);
return 0;
}
--
2.16.2
More information about the dev
mailing list