In theory, lcore and queue could be so large that mbuf pool name could overflow. But that can never happen since lcore and queue will be in range. Add a check so that static tools know that. Format overflow warnings seen on older versions of Gcc only.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Konstantin Ananyev <[email protected]> Acked-by: Bruce Richardson <[email protected]> --- examples/ip_reassembly/main.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c index 17ae76d4ba..25b904dbd4 100644 --- a/examples/ip_reassembly/main.c +++ b/examples/ip_reassembly/main.c @@ -884,6 +884,13 @@ setup_queue_tbl(struct rx_queue *rxq, uint32_t lcore, uint32_t queue) nb_mbuf = RTE_MAX(nb_mbuf, (uint32_t)NB_MBUF); + /* Should never happen but check so that pool name won't be too long. */ + if (lcore > RTE_MAX_LCORE || queue > RTE_MAX_QUEUES_PER_PORT) { + RTE_LOG(ERR, IP_RSMBL, "invalid lcore %u or queue %u", + lcore, queue); + return -1; + } + snprintf(buf, sizeof(buf), "mbuf_pool_%u_%u", lcore, queue); rxq->pool = rte_pktmbuf_pool_create(buf, nb_mbuf, MEMPOOL_CACHE_SIZE, 0, -- 2.51.0

