From: Michael Snyder Date: Tue, 1 Mar 2011 20:57:52 +0000 (+0000) Subject: 2011-03-01 Michael Snyder X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5f01dbc03c203f4a45b48125c6ddd8700be7d8e0;p=binutils-gdb.git 2011-03-01 Michael Snyder * linespec.c (decode_line_1): Check for null before dereference. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e380be2826f..24be64cac77 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,7 @@ 2011-03-01 Michael Snyder + * linespec.c (decode_line_1): Check for null before dereference. + * reverse.c (record_restore): Move null-check to before pointer dereference. diff --git a/gdb/linespec.c b/gdb/linespec.c index 9183064d704..e9548e86934 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -726,7 +726,7 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab, char *copy; /* This says whether or not something in *ARGPTR is quoted with completer_quotes (i.e. with single quotes). */ - int is_quoted; + int is_quoted = 0; /* Is *ARGPTR is enclosed in double quotes? */ int is_quote_enclosed; int is_objc_method = 0; @@ -745,12 +745,15 @@ decode_line_1 (char **argptr, int funfirstline, struct symtab *default_symtab, /* See if arg is *PC. */ - if (**argptr == '*') - return decode_indirect (argptr); + if (*argptr) + { + if (**argptr == '*') + return decode_indirect (argptr); + + is_quoted = (strchr (get_gdb_completer_quote_characters (), + **argptr) != NULL); + } - is_quoted = (*argptr - && strchr (get_gdb_completer_quote_characters (), - **argptr) != NULL); if (is_quoted) end_quote = skip_quoted (*argptr);