From 6726521997fcb35cd1ad5a7ec806772c9f6f39c8 Mon Sep 17 00:00:00 2001 From: Vipin Varghese Date: Fri, 2 Feb 2018 00:28:42 +0530 Subject: [PATCH] examples/l2fwd: check if user portmask is valid User can pass portmask with any value, even invalid mask. The code checks against actual portmask. Signed-off-by: Vipin Varghese Acked-by: Pablo de Lara --- examples/l2fwd/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c index 6c07ed43e1..e4a4a7c36c 100644 --- a/examples/l2fwd/main.c +++ b/examples/l2fwd/main.c @@ -549,6 +549,11 @@ main(int argc, char **argv) if (nb_ports == 0) rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n"); + /* check port mask to possible port mask */ + if (l2fwd_enabled_port_mask & ~((1 << nb_ports) - 1)) + rte_exit(EXIT_FAILURE, "Invalid portmask; possible (0x%x)\n", + (1 << nb_ports) - 1); + /* reset l2fwd_dst_ports */ for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++) l2fwd_dst_ports[portid] = 0; -- 2.20.1