diff options
author | Tom Tromey <tom@tromey.com> | 2017-04-23 11:23:43 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-03-26 21:57:11 -0600 |
commit | 7a630bc2f99fcd55ddd83274574531d526ca1925 (patch) | |
tree | 974264b16c2a169620a4078926d470334f5243f1 /gdb | |
parent | 63283d4a2983eaefd5d0860ddffcf946f0fe92db (diff) | |
download | gdb-7a630bc2f99fcd55ddd83274574531d526ca1925.zip gdb-7a630bc2f99fcd55ddd83274574531d526ca1925.tar.gz gdb-7a630bc2f99fcd55ddd83274574531d526ca1925.tar.bz2 |
Avoid manual resource management in py-framefilter.c
This patch removes the last bit of manual resource management from
py-framefilter.c. This will be useful in the next patch.
gdb/ChangeLog
2018-03-26 Tom Tromey <tom@tromey.com>
* python/py-framefilter.c (enumerate_args): Use
gdb::unique_xmalloc_ptr.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/python/py-framefilter.c | 20 |
2 files changed, 10 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ed5d5be..5cc8d9e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2018-03-26 Tom Tromey <tom@tromey.com> + * python/py-framefilter.c (enumerate_args): Use + gdb::unique_xmalloc_ptr. + +2018-03-26 Tom Tromey <tom@tromey.com> + * python/py-framefilter.c (py_print_frame): Return EXT_LANG_BT_OK. (gdbpy_apply_frame_filter): Update comment. diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c index 1dc15ae..dcac42d 100644 --- a/gdb/python/py-framefilter.c +++ b/gdb/python/py-framefilter.c @@ -560,6 +560,9 @@ enumerate_args (PyObject *iter, } END_CATCH + gdb::unique_xmalloc_ptr<char> arg_holder (arg.error); + gdb::unique_xmalloc_ptr<char> entry_holder (entryarg.error); + /* The object has not provided a value, so this is a frame argument to be read by GDB. In this case we have to account for entry-values. */ @@ -571,11 +574,7 @@ enumerate_args (PyObject *iter, args_type, print_args_field, NULL) == EXT_LANG_BT_ERROR) - { - xfree (arg.error); - xfree (entryarg.error); - return EXT_LANG_BT_ERROR; - } + return EXT_LANG_BT_ERROR; } if (entryarg.entry_kind != print_entry_values_no) @@ -589,8 +588,6 @@ enumerate_args (PyObject *iter, } CATCH (except, RETURN_MASK_ALL) { - xfree (arg.error); - xfree (entryarg.error); gdbpy_convert_exception (except); return EXT_LANG_BT_ERROR; } @@ -600,15 +597,8 @@ enumerate_args (PyObject *iter, if (py_print_single_arg (out, NULL, &entryarg, NULL, &opts, args_type, print_args_field, NULL) == EXT_LANG_BT_ERROR) - { - xfree (arg.error); - xfree (entryarg.error); - return EXT_LANG_BT_ERROR; - } + return EXT_LANG_BT_ERROR; } - - xfree (arg.error); - xfree (entryarg.error); } else { |