diff options
author | Michael Snyder <msnyder@specifix.com> | 2011-03-01 20:57:51 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@specifix.com> | 2011-03-01 20:57:51 +0000 |
commit | 9f251d2cc1260a969d74bb5af7c8da9ac88a7fc6 (patch) | |
tree | 0c0ea325f8a5f8059d7acbeb2e1d9d190ac1e9af /gdb | |
parent | 7fe4036ca49d8b56e20dca06b549fc172e988622 (diff) | |
download | gdb-9f251d2cc1260a969d74bb5af7c8da9ac88a7fc6.tar.gz |
2011-03-01 Michael Snyder <msnyder@vmware.com>
* linespec.c (decode_line_1): Check for null before dereference.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 2 | ||||
-rw-r--r-- | gdb/linespec.c | 15 |
2 files changed, 11 insertions, 6 deletions
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 <msnyder@vmware.com> + * 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); |