Re: [PATCH] fs/hfsplus: use memcpy() instead of strncpy()

From: Viacheslav Dubeyko
Date: Mon Jan 08 2018 - 12:56:35 EST


On Mon, 2018-01-08 at 20:17 +0800, Xiongfeng Wang wrote:
> From: Xiongfeng Wang <xiongfeng.wang@xxxxxxxxxx>
>
> gcc-8 reports
>
> inlined from 'copy_name' at fs/hfsplus/xattr.c:416:3:
> ./include/linux/string.h:245:9: warning: '__builtin_strncpy' output
> truncated before terminating nul copying 4 bytes from a string of the
> same length [-Wstringop-truncation]
>
> Since we don't need to copy '\0', we can just use memcpy() to avoid
> this
> warning.
>

If the gcc-8 emits the warning then the suggested change makes sense.
Looks good.

Reviewed-by: Vyacheslav Dubeyko <slava@xxxxxxxxxxx>

Thanks,
Vyacheslav Dubeyko.


> Signed-off-by: Xiongfeng Wang <xiongfeng.wang@xxxxxxxxxx>
> ---
> Âfs/hfsplus/xattr.c | 2 +-
> Â1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/hfsplus/xattr.c b/fs/hfsplus/xattr.c
> index e538b75..0dc8a65 100644
> --- a/fs/hfsplus/xattr.c
> +++ b/fs/hfsplus/xattr.c
> @@ -413,7 +413,7 @@ static int copy_name(char *buffer, const char
> *xattr_name, int name_len)
> Â int offset = 0;
> Â
> Â if (!is_known_namespace(xattr_name)) {
> - strncpy(buffer, XATTR_MAC_OSX_PREFIX,
> XATTR_MAC_OSX_PREFIX_LEN);
> + memcpy(buffer, XATTR_MAC_OSX_PREFIX,
> XATTR_MAC_OSX_PREFIX_LEN);
> Â offset += XATTR_MAC_OSX_PREFIX_LEN;
> Â len += XATTR_MAC_OSX_PREFIX_LEN;
> Â }