Add verify strdup return value logic.

Fixes: e888bb1278c6 ("dma/idxd: add bus device probing")
Cc: sta...@dpdk.org

Signed-off-by: Chengwen Feng <fengcheng...@huawei.com>
---
 drivers/dma/idxd/idxd_bus.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/idxd/idxd_bus.c b/drivers/dma/idxd/idxd_bus.c
index 3b2d4c2b65..ba8076715d 100644
--- a/drivers/dma/idxd/idxd_bus.c
+++ b/drivers/dma/idxd/idxd_bus.c
@@ -261,9 +261,15 @@ static int
 is_for_this_process_use(struct rte_dsa_device *dev, const char *name)
 {
        char *runtime_dir = strdup(rte_eal_get_runtime_dir());
-       char *prefix = basename(runtime_dir);
-       int prefixlen = strlen(prefix);
        int retval = 0;
+       int prefixlen;
+       char *prefix;
+
+       if (runtime_dir == NULL)
+               return retval;
+
+       prefix = basename(runtime_dir);
+       prefixlen = strlen(prefix);
 
        if (strncmp(name, "dpdk_", 5) == 0)
                retval = 1;
-- 
2.17.1

Reply via email to