]> git.droids-corp.org - dpdk.git/commitdiff
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 56410c44d719214c166293f3b573505c4617acb7..d1b32fec928f76bf18c1008df74eedddfaa92cbc 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;