[dpdk-dev] [PATCH] app/testpmd: fix potential out of bounds read

Julien Cretin julien.cretin at trust-in-soft.com
Mon Mar 9 14:21:09 CET 2015


After the last enabled port has been seen, and the last time we
evaluate the loop condition, there is an out of bounds read in
ports[p].enabled because p is equal to size, which is the length of
ports.

Signed-off-by: Julien Cretin <julien.cretin at trust-in-soft.com>
---
 app/test-pmd/testpmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 3e1327e..a9d15f3 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -333,7 +333,7 @@ find_next_port(portid_t p, struct rte_port *ports, int size)
 	if (ports == NULL)
 		rte_exit(-EINVAL, "failed to find a next port id\n");
 
-	while ((ports[p].enabled == 0) && (p < size))
+	while ((p < size) && (ports[p].enabled == 0))
 		p++;
 	return p;
 }
-- 
1.9.1



More information about the dev mailing list