Skip to content

Commit a952abc

Browse files
JustinStittkees
authored andcommitted
auxdisplay: panel: Replace deprecated strncpy() with strtomem_pad()
`strncpy` is deprecated and as such we should prefer more robust and less ambiguous interfaces. In this case, all of `press_str`, `repeat_str` and `release_str` are explicitly marked as nonstring: | struct { /* valid when type == INPUT_TYPE_KBD */ | char press_str[sizeof(void *) + sizeof(int)] __nonstring; | char repeat_str[sizeof(void *) + sizeof(int)] __nonstring; | char release_str[sizeof(void *) + sizeof(int)] __nonstring; | } kbd; ... which makes `strtomem_pad` a suitable replacement as it is functionally the same whilst being more obvious about its behavior. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: KSPP#90 Cc: linux-hardening@vger.kernel.org Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Justin Stitt <justinstitt@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20230911-strncpy-drivers-auxdisplay-panel-c-v1-1-b60bd0ae8552@google.com Signed-off-by: Kees Cook <keescook@chromium.org>
1 parent e0bbf92 commit a952abc

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

drivers/auxdisplay/panel.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,10 +1449,9 @@ static struct logical_input *panel_bind_key(const char *name, const char *press,
14491449
key->rise_time = 1;
14501450
key->fall_time = 1;
14511451

1452-
strncpy(key->u.kbd.press_str, press, sizeof(key->u.kbd.press_str));
1453-
strncpy(key->u.kbd.repeat_str, repeat, sizeof(key->u.kbd.repeat_str));
1454-
strncpy(key->u.kbd.release_str, release,
1455-
sizeof(key->u.kbd.release_str));
1452+
strtomem_pad(key->u.kbd.press_str, press, '\0');
1453+
strtomem_pad(key->u.kbd.repeat_str, repeat, '\0');
1454+
strtomem_pad(key->u.kbd.release_str, release, '\0');
14561455
list_add(&key->list, &logical_inputs);
14571456
return key;
14581457
}

0 commit comments

Comments
 (0)