On 2020/6/4 上午11:39, Herbert Xu wrote:
On Thu, Jun 04, 2020 at 11:32:04AM +0800, Zhangfei Gao wrote:
Use strlcpy to fix the warning
warning: 'strncpy' specified bound 64 equals destination size
          [-Wstringop-truncation]

Reported-by: kernel test robot <l...@intel.com>
Signed-off-by: Zhangfei Gao <zhangfei....@linaro.org>
---
  drivers/crypto/hisilicon/qm.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index f795fb5..224f3e2 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -1574,7 +1574,7 @@ static int qm_alloc_uacce(struct hisi_qm *qm)
                .ops = &uacce_qm_ops,
        };
- strncpy(interface.name, pdev->driver->name, sizeof(interface.name));
+       strlcpy(interface.name, pdev->driver->name, sizeof(interface.name));
Should this even allow truncation? Perhaps it'd be better to fail
in case of an overrun?
I think we do not need consider overrun, since it at most copy size-1 bytes to dest.
From the manual: strlcpy()
       This  function  is  similar  to  strncpy(), but it copies at most size-1 bytes to dest, always adds a terminating null
       byte,
And simple tested with smaller SIZE of interface.name,  only SIZE-1 is copied, so it is safe.
-#define UACCE_MAX_NAME_SIZE    64
+#define UACCE_MAX_NAME_SIZE    4

Thanks

Reply via email to