From: Michael Snyder Date: Wed, 1 Aug 2007 20:26:31 +0000 (+0000) Subject: 2007-08-01 Michael Snyder X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3cebf8d88289a3e28abfad8f3f811efd012850b0;p=binutils-gdb.git 2007-08-01 Michael Snyder * cli/cli-decode.c (lookup_cmd): Check for null earlier, to avoid dereference in lookup_cmd_1. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b6ec94ae2b0..7dba67cffdb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2007-08-01 Michael Snyder + * cli/cli-decode.c (lookup_cmd): Check for null earlier, to + avoid dereference in lookup_cmd_1. + * tui/tui-data.c (tui_alloc_content): Move assign out of if, clean up long lines. (tui_alloc_generic_win_info): Tidy by using XMALLOC macro. diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index e7c72c5ba47..6985edd6f0a 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -1226,28 +1226,27 @@ lookup_cmd (char **line, struct cmd_list_element *list, char *cmdtype, int allow_unknown, int ignore_help_classes) { struct cmd_list_element *last_list = 0; - struct cmd_list_element *c = - lookup_cmd_1 (line, list, &last_list, ignore_help_classes); + struct cmd_list_element *c; /* Note: Do not remove trailing whitespace here because this would be wrong for complete_command. Jim Kingdon */ + if (!*line) + error (_("Lack of needed %scommand"), cmdtype); + + c = lookup_cmd_1 (line, list, &last_list, ignore_help_classes); + if (!c) { if (!allow_unknown) { - if (!*line) - error (_("Lack of needed %scommand"), cmdtype); - else - { - char *q; - int len = find_command_name_length (*line); + char *q; + int len = find_command_name_length (*line); - q = (char *) alloca (len + 1); - strncpy (q, *line, len); - q[len] = '\0'; - undef_cmd_error (cmdtype, q); - } + q = (char *) alloca (len + 1); + strncpy (q, *line, len); + q[len] = '\0'; + undef_cmd_error (cmdtype, q); } else return 0;