mirror of
https://github.com/yuzu-emu/breakpad.git
synced 2024-12-23 13:35:28 +00:00
Fix memory leak in ppc64 stackwalker
BUG=757166 Change-Id: I967a6903332b9c3d16b583f7fa4d3c9c44c2f729 Reviewed-on: https://chromium-review.googlesource.com/643267 Reviewed-by: Leonard Mosescu <mosescu@chromium.org>
This commit is contained in:
parent
26b988681d
commit
c4335f0435
|
@ -32,6 +32,7 @@
|
||||||
// See stackwalker_ppc64.h for documentation.
|
// See stackwalker_ppc64.h for documentation.
|
||||||
|
|
||||||
|
|
||||||
|
#include "common/scoped_ptr.h"
|
||||||
#include "processor/stackwalker_ppc64.h"
|
#include "processor/stackwalker_ppc64.h"
|
||||||
#include "google_breakpad/processor/call_stack.h"
|
#include "google_breakpad/processor/call_stack.h"
|
||||||
#include "google_breakpad/processor/memory_region.h"
|
#include "google_breakpad/processor/memory_region.h"
|
||||||
|
@ -112,7 +113,7 @@ StackFrame* StackwalkerPPC64::GetCallerFrame(const CallStack* stack,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
StackFramePPC64* frame = new StackFramePPC64();
|
scoped_ptr<StackFramePPC64> frame(new StackFramePPC64());
|
||||||
|
|
||||||
frame->context = last_frame->context;
|
frame->context = last_frame->context;
|
||||||
frame->context.srr0 = instruction;
|
frame->context.srr0 = instruction;
|
||||||
|
@ -138,7 +139,7 @@ StackFrame* StackwalkerPPC64::GetCallerFrame(const CallStack* stack,
|
||||||
// return address value may access the context.srr0 field of StackFramePPC64.
|
// return address value may access the context.srr0 field of StackFramePPC64.
|
||||||
frame->instruction = frame->context.srr0 - 8;
|
frame->instruction = frame->context.srr0 - 8;
|
||||||
|
|
||||||
return frame;
|
return frame.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue