diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4f323851a1..4005a63dec 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2013-05-30 Tom Tromey + + * utils.c (internal_vproblem): Call do_cleanups. + 2013-05-30 Tom Tromey * linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'. diff --git a/gdb/utils.c b/gdb/utils.c index 218faed0ba..c25dadfe28 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -713,6 +713,7 @@ internal_vproblem (struct internal_problem *problem, int quit_p; int dump_core_p; char *reason; + struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); /* Don't allow infinite error/warning recursion. */ { @@ -821,6 +822,7 @@ internal_vproblem (struct internal_problem *problem, } dejavu = 0; + do_cleanups (cleanup); } static struct internal_problem internal_error_problem = {