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-safe-call.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-safe-call.c')
-rw-r--r-- | gdb/guile/scm-safe-call.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/guile/scm-safe-call.c b/gdb/guile/scm-safe-call.c index 2cba399..63c4833 100644 --- a/gdb/guile/scm-safe-call.c +++ b/gdb/guile/scm-safe-call.c @@ -393,9 +393,9 @@ scscm_eval_scheme_string (void *datap) and preventing continuation capture. The result is NULL if no exception occurred. Otherwise, the exception is printed according to "set guile print-stack" and the result is an error - message allocated with malloc, caller must free. */ + message. */ -char * +gdb::unique_xmalloc_ptr<char> gdbscm_safe_eval_string (const char *string, int display_result) { struct eval_scheme_string_data data = { string, display_result }; @@ -404,7 +404,7 @@ gdbscm_safe_eval_string (const char *string, int display_result) result = gdbscm_with_guile (scscm_eval_scheme_string, (void *) &data); if (result != NULL) - return xstrdup (result); + return gdb::unique_xmalloc_ptr<char> (xstrdup (result)); return NULL; } |