From 16892a0323ce6cf41ca80e384dfba12524247902 Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Thu, 22 Jun 2017 16:30:15 +0100 Subject: [PATCH] Fix cached_frame allocation in py-unwind gdb/ * python/py-unwind.c (pyuw_sniffer): Allocate space for registers. --- gdb/ChangeLog | 5 +++++ gdb/python/py-unwind.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1fad587c74b..bf9e08d1d81 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-06-22 Alan Hayward + + * python/py-unwind.c (pyuw_sniffer): Allocate space for + registers. + 2017-06-22 Alan Hayward * record-full.c (record_full_exec_insn): Use byte_vector. diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c index da1703ecf2b..1d800a7b786 100644 --- a/gdb/python/py-unwind.c +++ b/gdb/python/py-unwind.c @@ -557,7 +557,10 @@ pyuw_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, saved_reg *reg; int i; - cached_frame = XNEW (cached_frame_info); + cached_frame + = ((cached_frame_info *) + xmalloc (sizeof (*cached_frame) + + reg_count * sizeof (cached_frame->reg[0]))); cached_frame->gdbarch = gdbarch; cached_frame->frame_id = unwind_info->frame_id; cached_frame->reg_count = reg_count; -- 2.30.2