diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-01-15 20:26:02 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2006-01-15 20:26:02 +0000 |
commit | 0a029df55b1dcf3878d3680c359d199185ba3a9e (patch) | |
tree | ab12b7f1a2e679e9b113966461071174d280f6a1 | |
parent | 1731e543e0b37977db57a805c349f3c1e15c259f (diff) | |
download | gdb-0a029df55b1dcf3878d3680c359d199185ba3a9e.zip gdb-0a029df55b1dcf3878d3680c359d199185ba3a9e.tar.gz gdb-0a029df55b1dcf3878d3680c359d199185ba3a9e.tar.bz2 |
* macroexp.c (expand): Initialize argc.
* stabsread.c (read_type): Handle errors from read_args.
(read_args): Return NULL for errors.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/macroexp.c | 2 | ||||
-rw-r--r-- | gdb/stabsread.c | 8 |
3 files changed, 12 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cd0d085..24d93f1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2006-01-15 Daniel Jacobowitz <dan@codesourcery.com> + + * macroexp.c (expand): Initialize argc. + * stabsread.c (read_type): Handle errors from read_args. + (read_args): Return NULL for errors. + 2006-01-15 Mark Kettenis <kettenis@gnu.org> * osabi.c (generic_elf_osabi_sniffer): Use memcmp instead of diff --git a/gdb/macroexp.c b/gdb/macroexp.c index f5dc40c..a7ca6e0 100644 --- a/gdb/macroexp.c +++ b/gdb/macroexp.c @@ -927,7 +927,7 @@ expand (const char *id, else if (def->kind == macro_function_like) { struct cleanup *back_to = make_cleanup (null_cleanup, 0); - int argc; + int argc = 0; struct macro_buffer *argv = NULL; struct macro_buffer substituted; struct macro_buffer substituted_src; diff --git a/gdb/stabsread.c b/gdb/stabsread.c index bbaa40d..e346ad2 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -1804,6 +1804,8 @@ again: return_type = read_type (pp, objfile); args = read_args (pp, ';', objfile, &nargs, &varargs); + if (args == NULL) + return error_type (pp, objfile); type = dbx_alloc_type (typenums, objfile); smash_to_method_type (type, domain, return_type, args, nargs, varargs); @@ -3985,8 +3987,8 @@ handle_true_range: } /* Read in an argument list. This is a list of types, separated by commas - and terminated with END. Return the list of types read in, or (struct type - **)-1 if there is an error. */ + and terminated with END. Return the list of types read in, or NULL + if there is an error. */ static struct field * read_args (char **pp, int end, struct objfile *objfile, int *nargsp, @@ -4001,7 +4003,7 @@ read_args (char **pp, int end, struct objfile *objfile, int *nargsp, { if (**pp != ',') /* Invalid argument list: no ','. */ - return (struct field *) -1; + return NULL; (*pp)++; STABS_CONTINUE (pp, objfile); types[n++] = read_type (pp, objfile); |