netfilter: ipset: Replace strlcpy with strscpy
authorAzeem Shaikh <azeemshaikh38@gmail.com>
Tue, 13 Jun 2023 00:34:37 +0000 (00:34 +0000)
committerKees Cook <keescook@chromium.org>
Tue, 20 Jun 2023 20:35:37 +0000 (13:35 -0700)
commitacf15e07eb06507c69f92394c36052677029b0a8
tree5da25e8678bdaa86cf00cf483633a51b2a56a506
parentf0a6b5831cfb17381ada015778448b12c1c6179e
netfilter: ipset: Replace strlcpy with strscpy

strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().

Direct replacement is safe here since return value from all
callers of STRLCPY macro were ignored.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89

Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com>
Acked-by: Jozsef Kadlecsik <kadlec@netfilter.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230613003437.3538694-1-azeemshaikh38@gmail.com
net/netfilter/ipset/ip_set_hash_netiface.c