diff options
author | Tom Tromey <tom@tromey.com> | 2018-05-26 23:26:39 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-07-17 13:21:47 -0600 |
commit | a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69 (patch) | |
tree | 7819771634fdc0ad4ef245800c3b354abf6382e4 /gdb/guile/scm-objfile.c | |
parent | 15bf30027bcb167833a0ca2c619c03f177ef1ba4 (diff) | |
download | gdb-a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69.zip gdb-a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69.tar.gz gdb-a1a31cb8dce7d1bfa7878dc08c28af330ef2ed69.tar.bz2 |
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 <tom@tromey.com>
* 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.
Diffstat (limited to 'gdb/guile/scm-objfile.c')
-rw-r--r-- | gdb/guile/scm-objfile.c | 10 |
1 files changed, 3 insertions, 7 deletions
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<char> 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; } |