Re: [PATCH] crypto: hisilicon - fix strncpy warning with strlcpy

From: Zhangfei Gao
Date: Fri Jun 05 2020 - 21:43:23 EST




On 2020/6/5 äå11:49, Eric Biggers wrote:
On Fri, Jun 05, 2020 at 11:26:20PM +0800, Zhangfei Gao wrote:

On 2020/6/5 äå8:17, Herbert Xu wrote:
On Fri, Jun 05, 2020 at 05:34:32PM +0800, Zhangfei Gao wrote:
Will add a check after the copy.

ÂÂÂÂÂÂÂ strlcpy(interface.name, pdev->driver->name, sizeof(interface.name));
ÂÂÂÂÂÂÂ if (strlen(pdev->driver->name) != strlen(interface.name))
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ return -EINVAL;
You don't need to do strlen. The function strlcpy returns the
length of the source string.

Better yet use strscpy which will even return an error for you.


Yes, good idea, we can use strscpy.

+ÂÂÂÂÂÂ int ret;

-ÂÂÂÂÂÂ strncpy(interface.name, pdev->driver->name, sizeof(interface.name));
+ÂÂÂÂÂÂ ret = strscpy(interface.name, pdev->driver->name,
sizeof(interface.name));
+ÂÂÂÂÂÂ if (ret < 0)
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ return ret;
You might want to use -ENAMETOOLONG instead of the strscpy return value of
-E2BIG.
Yes, make sense, thanks Eric