[dpdk-dev] [PATCH] drivers/bus/ifpga/: fix Coverity issue
Rosen Xu
rosen.xu at intel.com
Wed May 16 15:48:26 CEST 2018
Fix Coverity issue: 279455, 279459 and 279454
Signed-off-by: Rosen Xu <rosen.xu at intel.com>
Fixes: 05fa3d4a6539 ("bus/ifpga: add Intel FPGA bus library")
Coverity issue: 279455, 279459 and 279454
Cc: stable at dpdk.org
---
drivers/bus/ifpga/ifpga_bus.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index 45597a1..b324872 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -156,27 +156,30 @@ void rte_ifpga_driver_unregister(struct rte_afu_driver *driver)
if (rawdev->dev_ops &&
rawdev->dev_ops->dev_start &&
rawdev->dev_ops->dev_start(rawdev))
- goto free_dev;
+ goto end;
strlcpy(afu_pr_conf.bs_path, path, sizeof(afu_pr_conf.bs_path));
- if (rawdev->dev_ops->firmware_load &&
+ if (rawdev->dev_ops &&
+ rawdev->dev_ops->firmware_load &&
rawdev->dev_ops->firmware_load(rawdev,
&afu_pr_conf)){
IFPGA_BUS_ERR("firmware load error %d\n", ret);
- goto free_dev;
+ goto end;
}
afu_dev->id.uuid.uuid_low = afu_pr_conf.afu_id.uuid.uuid_low;
afu_dev->id.uuid.uuid_high = afu_pr_conf.afu_id.uuid.uuid_high;
+ rte_kvargs_free(kvlist);
+ free(path);
return afu_dev;
-free_dev:
- free(afu_dev);
end:
if (kvlist)
rte_kvargs_free(kvlist);
if (path)
free(path);
+ if (afu_dev)
+ free(afu_dev);
return NULL;
}
@@ -367,7 +370,7 @@ void rte_ifpga_driver_unregister(struct rte_afu_driver *driver)
return -EINVAL;
afu_dev = RTE_DEV_TO_AFU(dev);
- if (!dev)
+ if (!afu_dev)
return -ENOENT;
devargs = dev->devargs;
--
1.8.3.1
More information about the dev
mailing list