scripts/kconfig/lxdialog/util.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
strcpy() does not perform bounds checking and can lead to buffer overflows
if the source string exceeds the destination buffer size. In
print_autowrap(), replace strcpy() with snprintf() to safely copy the
prompt string into the fixed-size tempstr buffer.
Signed-off-by: Suchit Karunakaran <suchitkarunakaran@gmail.com>
---
scripts/kconfig/lxdialog/util.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/scripts/kconfig/lxdialog/util.c b/scripts/kconfig/lxdialog/util.c
index 964139c87fcb..b34000beb294 100644
--- a/scripts/kconfig/lxdialog/util.c
+++ b/scripts/kconfig/lxdialog/util.c
@@ -345,8 +345,7 @@ void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x)
int prompt_len, room, wlen;
char tempstr[MAX_LEN + 1], *word, *sp, *sp2, *newline_separator = 0;
- strcpy(tempstr, prompt);
-
+ snprintf(tempstr, sizeof(tempstr), "%s", prompt);
prompt_len = strlen(tempstr);
if (prompt_len <= width - x * 2) { /* If prompt is short */
--
2.50.1
On Sun, Jul 27, 2025 at 4:43 AM Suchit Karunakaran <suchitkarunakaran@gmail.com> wrote: > > strcpy() does not perform bounds checking and can lead to buffer overflows > if the source string exceeds the destination buffer size. In > print_autowrap(), replace strcpy() with snprintf() to safely copy the > prompt string into the fixed-size tempstr buffer. > > Signed-off-by: Suchit Karunakaran <suchitkarunakaran@gmail.com> > --- Applied to linux-kbuild. Thanks. > scripts/kconfig/lxdialog/util.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/scripts/kconfig/lxdialog/util.c b/scripts/kconfig/lxdialog/util.c > index 964139c87fcb..b34000beb294 100644 > --- a/scripts/kconfig/lxdialog/util.c > +++ b/scripts/kconfig/lxdialog/util.c > @@ -345,8 +345,7 @@ void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x) > int prompt_len, room, wlen; > char tempstr[MAX_LEN + 1], *word, *sp, *sp2, *newline_separator = 0; > > - strcpy(tempstr, prompt); > - > + snprintf(tempstr, sizeof(tempstr), "%s", prompt); > prompt_len = strlen(tempstr); > > if (prompt_len <= width - x * 2) { /* If prompt is short */ > -- > 2.50.1 > -- Best Regards Masahiro Yamada
© 2016 - 2025 Red Hat, Inc.