aboutsummaryrefslogtreecommitdiff
path: root/src/processor/minidump.cc
diff options
context:
space:
mode:
authorted.mielczarek@gmail.com <ted.mielczarek@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-11-06 16:50:01 +0000
committerted.mielczarek@gmail.com <ted.mielczarek@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-11-06 16:50:01 +0000
commitfc6f700bb56d25919e40b13bd141832dcb8c6a7f (patch)
tree634325dd248493ef63784b3e2593b36236fff85a /src/processor/minidump.cc
parentWrong %ebp after skipping a frame for which the instruction pointer is not in... (diff)
downloadbreakpad-fc6f700bb56d25919e40b13bd141832dcb8c6a7f.tar.xz
Allow processing dumps with missing stack memory for some threads
r=mkrebs at https://breakpad.appspot.com/413002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1077 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/minidump.cc')
-rw-r--r--src/processor/minidump.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
index 19ba0354..0c13e00e 100644
--- a/src/processor/minidump.cc
+++ b/src/processor/minidump.cc
@@ -1354,15 +1354,15 @@ bool MinidumpThread::Read() {
if (thread_.stack.memory.data_size == 0 ||
thread_.stack.memory.data_size > numeric_limits<u_int64_t>::max() -
thread_.stack.start_of_memory_range) {
+ // This is ok, but log an error anyway.
BPLOG(ERROR) << "MinidumpThread has a memory region problem, " <<
HexString(thread_.stack.start_of_memory_range) << "+" <<
HexString(thread_.stack.memory.data_size);
- return false;
+ } else {
+ memory_ = new MinidumpMemoryRegion(minidump_);
+ memory_->SetDescriptor(&thread_.stack);
}
- memory_ = new MinidumpMemoryRegion(minidump_);
- memory_->SetDescriptor(&thread_.stack);
-
valid_ = true;
return true;
}