From: Maxime Coquelin Date: Fri, 26 Jun 2020 14:04:28 +0000 (+0200) Subject: bus/dpaa: fix iterating on a class type X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=be2ee360fe86cf041d1a07577919160e6557c679 bus/dpaa: fix iterating on a class type This patches fixes a null pointer dereferencing that happens when the device string passed to the iterator is NULL. This situation can happen when iterating on a class type. For example: RTE_DEV_FOREACH(dev, "class=eth", &dev_iter) { ... } Fixes: e79df833d3f6 ("bus/dpaa: support hotplug ops") Cc: stable@dpdk.org Signed-off-by: Maxime Coquelin Acked-by: Adrián Moreno --- diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c index d53fe6083a..591e28c1e7 100644 --- a/drivers/bus/dpaa/dpaa_bus.c +++ b/drivers/bus/dpaa/dpaa_bus.c @@ -703,6 +703,11 @@ dpaa_bus_dev_iterate(const void *start, const char *str, struct rte_dpaa_device *dev; char *dup, *dev_name = NULL; + if (str == NULL) { + DPAA_BUS_DEBUG("No device string"); + return NULL; + } + /* Expectation is that device would be name=device_name */ if (strncmp(str, "name=", 5) != 0) { DPAA_BUS_DEBUG("Invalid device string (%s)\n", str);