crypto/octeontx: fix non null terminated device name
authorAnoob Joseph <anoob.joseph@caviumnetworks.com>
Mon, 12 Nov 2018 18:14:12 +0000 (18:14 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 14 Nov 2018 03:32:48 +0000 (04:32 +0100)
If the length of string pointed by 'name' is equal to or greater than
the sizeof cptvf->dev_name string, the resultant string will not be
null terminated. Using strlcpy would make sure the string would always
be null terminated.

Coverity Issue: 323492
Fixes: 0dc1cffa4d33 ("crypto/octeontx: add hardware init routine")

Signed-off-by: Ankur Dwivedi <ankur.dwivedi@caviumnetworks.com>
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
drivers/crypto/octeontx/otx_cryptodev_hw_access.c

index 5e705a8..18f2e6b 100644 (file)
@@ -9,6 +9,7 @@
 #include <rte_common.h>
 #include <rte_errno.h>
 #include <rte_memzone.h>
+#include <rte_string_fns.h>
 
 #include "otx_cryptodev_hw_access.h"
 #include "otx_cryptodev_mbox.h"
@@ -366,7 +367,9 @@ otx_cpt_hw_init(struct cpt_vf *cptvf, void *pdev, void *reg_base, char *name)
 
        /* Bar0 base address */
        cptvf->reg_base = reg_base;
-       strncpy(cptvf->dev_name, name, 32);
+
+       /* Save device name */
+       strlcpy(cptvf->dev_name, name, (sizeof(cptvf->dev_name)));
 
        cptvf->pdev = pdev;