From: Tom Tromey Date: Mon, 15 Apr 2024 18:52:05 +0000 (-0600) Subject: Fix crash in gdb_rl_callback_handler X-Git-Tag: gdb-15-branchpoint~402 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef076b0377c931c8743841572ad5eccafa48c30f;p=thirdparty%2Fbinutils-gdb.git Fix crash in gdb_rl_callback_handler commit bdcd50f9 ("Strip trailing newlines from input string") introduced a crash in eof-exit.exp. This patch fixes the problem by adding a NULL check in the appropriate spot. Regression tested on x86-64 Fedora 38. I'm checking this in. --- diff --git a/gdb/event-top.c b/gdb/event-top.c index f0c07ba7f64..6a2a75fe3dc 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -254,10 +254,13 @@ gdb_rl_callback_handler (char *rl) noexcept /* In bracketed paste mode, pasting a complete line can result in a literal newline appearing at the end of LINE. However, we never want this in gdb. */ - size_t len = strlen (rl); - while (len > 0 && (rl[len - 1] == '\r' || rl[len - 1] == '\n')) - --len; - rl[len] = '\0'; + if (rl != nullptr) + { + size_t len = strlen (rl); + while (len > 0 && (rl[len - 1] == '\r' || rl[len - 1] == '\n')) + --len; + rl[len] = '\0'; + } try {