aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/py-record-btrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/python/py-record-btrace.c')
-rw-r--r--gdb/python/py-record-btrace.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gdb/python/py-record-btrace.c b/gdb/python/py-record-btrace.c
index 44cb441..609e61b 100644
--- a/gdb/python/py-record-btrace.c
+++ b/gdb/python/py-record-btrace.c
@@ -273,7 +273,7 @@ PyObject *
recpy_bt_insn_data (PyObject *self, void *closure)
{
const btrace_insn * const insn = btrace_insn_from_recpy_insn (self);
- gdb_byte *buffer = NULL;
+ gdb::byte_vector buffer;
PyObject *object;
if (insn == NULL)
@@ -281,18 +281,17 @@ recpy_bt_insn_data (PyObject *self, void *closure)
TRY
{
- buffer = (gdb_byte *) xmalloc (insn->size);
- read_memory (insn->pc, buffer, insn->size);
+ buffer.resize (insn->size);
+ read_memory (insn->pc, buffer.data (), insn->size);
}
CATCH (except, RETURN_MASK_ALL)
{
- xfree (buffer);
GDB_PY_HANDLE_EXCEPTION (except);
}
END_CATCH
- object = PyBytes_FromStringAndSize ((const char*) buffer, insn->size);
- xfree (buffer);
+ object = PyBytes_FromStringAndSize ((const char *) buffer.data (),
+ insn->size);
if (object == NULL)
return NULL;