crypto/nitrox: fix oversized device name
authorNagadheeraj Rottela <rnagadheeraj@marvell.com>
Fri, 27 Mar 2020 13:42:39 +0000 (19:12 +0530)
committerAkhil Goyal <akhil.goyal@oss.nxp.com>
Sun, 5 Apr 2020 16:36:17 +0000 (18:36 +0200)
In nitrox_sym_pmd_create() the name array will overflow if the pci
device name is greater than 57 bytes. To fix this issue subtract pci
device name length from array length while appending substring to the
name.

Coverity issue: 349926
Fixes: 9fdef0cc2385 ("crypto/nitrox: create symmetric cryptodev")
Cc: stable@dpdk.org
Signed-off-by: Nagadheeraj Rottela <rnagadheeraj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
drivers/crypto/nitrox/nitrox_sym.c

index 56410c4..d1b32fe 100644 (file)
@@ -683,7 +683,8 @@ nitrox_sym_pmd_create(struct nitrox_device *ndev)
        struct rte_cryptodev *cdev;
 
        rte_pci_device_name(&ndev->pdev->addr, name, sizeof(name));
-       snprintf(name + strlen(name), RTE_CRYPTODEV_NAME_MAX_LEN, "_n5sym");
+       snprintf(name + strlen(name), RTE_CRYPTODEV_NAME_MAX_LEN - strlen(name),
+                "_n5sym");
        ndev->rte_sym_dev.driver = &nitrox_rte_sym_drv;
        ndev->rte_sym_dev.numa_node = ndev->pdev->device.numa_node;
        ndev->rte_sym_dev.devargs = NULL;