In function ifpga_scan_one(), variable 'path' is NULL if device argument
'afu_bts' is not set, subsequent string copy with 'path' would lead to
segmentation fault.

Fixes: 6fa4aa2b3645 ("bus/ifpga: fix forcing optional devargs")
Cc: sta...@dpdk.org

Signed-off-by: Wei Huang <wei.hu...@intel.com>
---
 drivers/bus/ifpga/ifpga_bus.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index bb943b5..07e316b 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -135,6 +135,8 @@ struct rte_afu_device *
                        goto end;
                }
                afu_pr_conf.pr_enable = 1;
+               strlcpy(afu_pr_conf.bs_path, path,
+                       sizeof(afu_pr_conf.bs_path));
        } else {
                afu_pr_conf.pr_enable = 0;
        }
@@ -174,7 +176,6 @@ struct rte_afu_device *
                rawdev->dev_ops->dev_start(rawdev))
                goto end;
 
-       strlcpy(afu_pr_conf.bs_path, path, sizeof(afu_pr_conf.bs_path));
        if (rawdev->dev_ops &&
                rawdev->dev_ops->firmware_load &&
                rawdev->dev_ops->firmware_load(rawdev,
-- 
1.8.3.1

Reply via email to