diff options
author | Tom Tromey <tromey@redhat.com> | 2013-05-30 17:25:15 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-05-30 17:25:15 +0000 |
commit | 73b8d9dab1376f2d43ed8441eda335d2e1156a77 (patch) | |
tree | 0e4b8716f727c04089ed2f970e89580e97bdcbc0 | |
parent | 7d266584031b069cc16e33071c064cc65a555218 (diff) | |
download | gdb-73b8d9dab1376f2d43ed8441eda335d2e1156a77.zip gdb-73b8d9dab1376f2d43ed8441eda335d2e1156a77.tar.gz gdb-73b8d9dab1376f2d43ed8441eda335d2e1156a77.tar.bz2 |
fix one bug in stabsread.c
Some code in stabsread.c can return without running cleanups.
* stabsread.c (read_struct_type): Call do_cleanups along
all return paths.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/stabsread.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d50309d..6d51b21 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-05-30 Tom Tromey <tromey@redhat.com> + + * stabsread.c (read_struct_type): Call do_cleanups along + all return paths. + 2013-05-30 Maciej W. Rozycki <macro@codesourcery.com> * mips-linux-tdep.c: Adjust formatting throughout. diff --git a/gdb/stabsread.c b/gdb/stabsread.c index c63ecc2..875541c 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -3515,7 +3515,10 @@ read_struct_type (char **pp, struct type *type, enum type_code type_code, TYPE_LENGTH (type) = read_huge_number (pp, 0, &nbits, 0); if (nbits != 0) - return error_type (pp, objfile); + { + do_cleanups (back_to); + return error_type (pp, objfile); + } set_length_in_type_chain (type); } |