[v2] app/pdump: check lcore is not the maximum core
Checks
Commit Message
Check lcore id value is not the maximum core supported.
Using lcore id without this check might cause
out of bound access inside the rte_eal_wait_lcore.
Coverity issue: 375841
Fixes: b2854d5317e8 ("app/pdump: support multi-core capture")
Cc: vipin.varghese@intel.com
Cc: stable@dpdk.org
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
---
app/pdump/main.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
@@ -930,12 +930,15 @@ dump_packets(void)
return;
}
- lcore_id = rte_get_next_lcore(lcore_id, 1, 0);
for (i = 0; i < num_tuples; i++) {
+ lcore_id = rte_get_next_lcore(lcore_id, 1, 0);
+ if (lcore_id == RTE_MAX_LCORE)
+ rte_exit(EXIT_FAILURE,
+ "Max core limit %u reached for packet capture", lcore_id);
+
rte_eal_remote_launch(dump_packets_core,
&pdump_t[i], lcore_id);
- lcore_id = rte_get_next_lcore(lcore_id, 1, 0);
if (rte_eal_wait_lcore(lcore_id) < 0)
rte_exit(EXIT_FAILURE, "failed to wait\n");