From 73b8d9dab1376f2d43ed8441eda335d2e1156a77 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 May 2013 17:25:15 +0000 Subject: 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. --- gdb/stabsread.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gdb/stabsread.c') 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); } -- cgit v1.1