From: Tom Tromey Date: Fri, 18 Nov 2022 16:04:39 +0000 (-0700) Subject: Fix crash in "document" command X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b70e9270fbafd43a3fece0c7dd52cabd70854dfd;p=binutils-gdb.git Fix crash in "document" command PR cli/29800 points out that "document" will now crash when the argument is an undefined command. This is a regression due to the "document user-defined aliases" patch. Approved-By: Joel Brobecker Reviewed-By: Philippe Waroquiers Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29800 --- diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c index 2442f7ae38b..2101d6fface 100644 --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -1515,6 +1515,8 @@ do_document_command (const char *comname, int from_tty, validate_comname (&comname); lookup_cmd_composition (comfull, &alias, &prefix_cmd, &c); + if (c == nullptr) + error (_("Undefined command: \"%s\"."), comfull); if (c->theclass != class_user && (alias == nullptr || alias->theclass != class_alias)) diff --git a/gdb/testsuite/gdb.base/document.exp b/gdb/testsuite/gdb.base/document.exp index 2d8f6b88090..6f426510d29 100644 --- a/gdb/testsuite/gdb.base/document.exp +++ b/gdb/testsuite/gdb.base/document.exp @@ -28,3 +28,7 @@ gdb_test_multiple "define do-document" "" { } gdb_test_no_output "do-document" "invoke do-document" gdb_test "help do-document" "usage: do-document" "invoke help do-document" + +# Test that document of a non-existing command prints an error. There +# was a regression at one point causing this to crash. +gdb_test "document nosuchcommand" "Undefined command: \"nosuchcommand\"\\."