Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hwmon: (ibmpowernv) Replace deprecated strncpy() with memcpy()

`strncpy` is deprecated for use on NUL-terminated destination strings [1].

A suitable replacement is `memcpy` as we've already precisely calculated
the number of bytes to copy while `buf` has been explicitly
zero-initialized:
| char buf[8] = { 0 };

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Tested-by: Michael Ellerman <mpe@ellerman.id.au>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230919-strncpy-drivers-hwmon-ibmpowernv-c-v2-1-37d3e64172bc@google.com
Signed-off-by: Kees Cook <keescook@chromium.org>

authored by

Justin Stitt and committed by
Kees Cook
66f8a4a0 abe6db6c

+1 -1
+1 -1
drivers/hwmon/ibmpowernv.c
··· 234 234 if (copy_len >= sizeof(buf)) 235 235 return -EINVAL; 236 236 237 - strncpy(buf, hash_pos + 1, copy_len); 237 + memcpy(buf, hash_pos + 1, copy_len); 238 238 239 239 err = kstrtou32(buf, 10, index); 240 240 if (err)