diff options
| author | Thorsten Blum <thorsten.blum@linux.dev> | 2026-01-11 16:42:57 +0300 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2026-01-12 21:43:15 +0300 |
| commit | c2510a165056b67cded071ca76297620d022259f (patch) | |
| tree | 9058237bbb0165c29e61b4ddb66de17285bbe9a6 | |
| parent | 710b9195ab125d51d746ab3080eb9ce769188d4b (diff) | |
| download | linux-c2510a165056b67cded071ca76297620d022259f.tar.xz | |
wl1251: Replace strncpy with strscpy in wl1251_acx_fw_version
strncpy() is deprecated [1] for NUL-terminated destination buffers since
it does not guarantee NUL termination. Remove the manual NUL termination
and replace strncpy() with strscpy() to ensure NUL termination of the
destination buffer.
Using strscpy_pad() to retain the NUL-padding behavior of strncpy() is
not needed because ->fw_ver is only used as a C-string.
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Link: https://patch.msgid.link/20260111134301.598839-1-thorsten.blum@linux.dev
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| -rw-r--r-- | drivers/net/wireless/ti/wl1251/acx.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/net/wireless/ti/wl1251/acx.c b/drivers/net/wireless/ti/wl1251/acx.c index cb8b3102fa6c..166efac812fe 100644 --- a/drivers/net/wireless/ti/wl1251/acx.c +++ b/drivers/net/wireless/ti/wl1251/acx.c @@ -3,6 +3,7 @@ #include <linux/module.h> #include <linux/slab.h> +#include <linux/string.h> #include "wl1251.h" #include "reg.h" @@ -149,15 +150,7 @@ int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len) goto out; } - /* be careful with the buffer sizes */ - strncpy(buf, rev->fw_version, min(len, sizeof(rev->fw_version))); - - /* - * if the firmware version string is exactly - * sizeof(rev->fw_version) long or fw_len is less than - * sizeof(rev->fw_version) it won't be null terminated - */ - buf[min(len, sizeof(rev->fw_version)) - 1] = '\0'; + strscpy(buf, rev->fw_version, len); out: kfree(rev); |
