diff options
author | Christophe JAILLET <[email protected]> | 2023-11-25 13:05:04 +0100 |
---|---|---|
committer | Daniel Thompson <[email protected]> | 2024-01-17 17:19:06 +0000 |
commit | 4f41d30cd6dc865c3cbc1a852372321eba6d4e4c (patch) | |
tree | 54ea811ddad750131675cbc0c70e5f63da13ef7d | |
parent | 610a9b8f49fbcf1100716370d3b5f6f884a2835a (diff) |
kdb: Fix a potential buffer overflow in kdb_local()
When appending "[defcmd]" to 'kdb_prompt_str', the size of the string
already in the buffer should be taken into account.
An option could be to switch from strncat() to strlcat() which does the
correct test to avoid such an overflow.
However, this actually looks as dead code, because 'defcmd_in_progress'
can't be true here.
See a more detailed explanation at [1].
[1]: https://lore.kernel.org/all/CAD=FV=WSh7wKN7Yp-3wWiDgX4E3isQ8uh0LCzTmd1v9Cg9j+nQ@mail.gmail.com/
Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Signed-off-by: Christophe JAILLET <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
-rw-r--r-- | kernel/debug/kdb/kdb_main.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c index 6b213c8252d6..d05066cb40b2 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c @@ -1348,8 +1348,6 @@ do_full_getstr: /* PROMPT can only be set if we have MEM_READ permission. */ snprintf(kdb_prompt_str, CMD_BUFLEN, kdbgetenv("PROMPT"), raw_smp_processor_id()); - if (defcmd_in_progress) - strncat(kdb_prompt_str, "[defcmd]", CMD_BUFLEN); /* * Fetch command from keyboard |