From a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 26 May 2018 23:26:39 -0600 Subject: Return unique_xmalloc_ptr from gdbscm_safe_eval_string This changes gdbscm_safe_eval_string to return a unique_xmalloc_ptr. This allows for the removal of some cleanups. It also fixes a potential latent memory leak in gdbscm_set_backtrace. gdb/ChangeLog 2018-07-17 Tom Tromey * guile/guile.c (gdbscm_eval_from_control_command): Update. * guile/guile-internal.h (gdbscm_safe_eval_string): Update. * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update. * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return unique_xmalloc_ptr. --- gdb/guile/scm-objfile.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'gdb/guile/scm-objfile.c') diff --git a/gdb/guile/scm-objfile.c b/gdb/guile/scm-objfile.c index 9917119..ccf7c66 100644 --- a/gdb/guile/scm-objfile.c +++ b/gdb/guile/scm-objfile.c @@ -336,16 +336,12 @@ gdbscm_execute_objfile_script (const struct extension_language_defn *extlang, struct objfile *objfile, const char *name, const char *script) { - char *msg; - ofscm_current_objfile = objfile; - msg = gdbscm_safe_eval_string (script, 0 /* display_result */); + gdb::unique_xmalloc_ptr msg + = gdbscm_safe_eval_string (script, 0 /* display_result */); if (msg != NULL) - { - fprintf_filtered (gdb_stderr, "%s", msg); - xfree (msg); - } + fprintf_filtered (gdb_stderr, "%s", msg.get ()); ofscm_current_objfile = NULL; } -- cgit v1.1