2023-08-08 23:40:31

by Justin Stitt

[permalink] [raw]
Subject: [PATCH 3/7] netfilter: nf_tables: refactor deprecated strncpy

Prefer `strscpy` over `strncpy`.

Signed-off-by: Justin Stitt <[email protected]>

---
Note:
`strscpy` is generally preferred to `strncpy` for use on NUL-terminated
destination strings. In this case, however, it is hard for me to tell if
the dest buffer wants to be NUL-terminated or not. If NUL-termination is
not needed behavior here, let's use `strtomem`.
---
net/netfilter/nft_fib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/netfilter/nft_fib.c b/net/netfilter/nft_fib.c
index 6e049fd48760..f1a3692f2dbd 100644
--- a/net/netfilter/nft_fib.c
+++ b/net/netfilter/nft_fib.c
@@ -150,7 +150,7 @@ void nft_fib_store_result(void *reg, const struct nft_fib *priv,
if (priv->flags & NFTA_FIB_F_PRESENT)
*dreg = !!dev;
else
- strncpy(reg, dev ? dev->name : "", IFNAMSIZ);
+ strscpy(reg, dev ? dev->name : "", IFNAMSIZ);
break;
default:
WARN_ON_ONCE(1);

--
2.41.0.640.ga95def55d0-goog



2023-08-09 00:04:41

by Florian Westphal

[permalink] [raw]
Subject: Re: [PATCH 3/7] netfilter: nf_tables: refactor deprecated strncpy

Justin Stitt <[email protected]> wrote:
> Prefer `strscpy` over `strncpy`.

No, this relies on zeroing out the entire register.

If you absolutely have to do this, use _pad version.