From f9ae888b1e19face2ce02e92936f793499c11956 Mon Sep 17 00:00:00 2001 From: Anatoly Burakov Date: Sat, 19 Nov 2016 13:10:11 +0000 Subject: [PATCH] ethdev: fix port lookup if none Aside from avoiding doing useless work, this also fixes a segfault when calling rte_eth_dev_get_port_by_name() whenever no devices were found yet, and therefore rte_eth_dev_data wasn't yet allocated. Fixes: 9c5b8d8b9feb ("ethdev: clean port id retrieval when attaching") Signed-off-by: Anatoly Burakov Acked-by: Thomas Monjalon --- lib/librte_ether/rte_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 4209ad0d7b..1e0f206101 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -376,6 +376,9 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id) return -EINVAL; } + if (!nb_ports) + return -ENODEV; + *port_id = RTE_MAX_ETHPORTS; for (i = 0; i < RTE_MAX_ETHPORTS; i++) { -- 2.20.1