From b70e9270fbafd43a3fece0c7dd52cabd70854dfd Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 18 Nov 2022 09:04:39 -0700 Subject: [PATCH] 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 --- gdb/cli/cli-script.c | 2 ++ gdb/testsuite/gdb.base/document.exp | 4 ++++ 2 files changed, 6 insertions(+) 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\"\\." -- 2.30.2