[PATCH RESEND] block: Replace deprecated strcpy() in devt_from_devname()
Thorsten Blum <[email protected]> Mon, 27 Jul 2026 11:57:13 +0200
| Newsgroups | org.kernel.vger.linux-block,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
strcpy() is deprecated [1] and uses an additional strlen() internally; use memcpy() directly since we already know the length of name and that it is guaranteed to be NUL-terminated. Also use strnlen() and sizeof() instead of the hard-coded size while at it. [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy Signed-off-by: Thorsten Blum <[email protected]> --- block/early-lookup.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/early-lookup.c b/block/early-lookup.c index 3fb57f7d2b12..5c30a0cc85a0 100644 --- a/block/early-lookup.c +++ b/block/early-lookup.c @@ -155,10 +155,11 @@ static int __init devt_from_devname(const char *name, dev_t *devt) int part; char s[32]; char *p; + size_t name_len = strnlen(name, sizeof(s)); - if (strlen(name) > 31) + if (name_len == sizeof(s)) return -EINVAL; - strcpy(s, name); + memcpy(s, name, name_len + 1); for (p = s; *p; p++) { if (*p == '/') *p = '!';