aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/minidump_writer
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/linux/minidump_writer')
-rw-r--r--src/client/linux/minidump_writer/linux_dumper.h2
-rw-r--r--src/client/linux/minidump_writer/linux_dumper_unittest.cc2
-rw-r--r--src/client/linux/minidump_writer/minidump_writer.cc9
3 files changed, 7 insertions, 6 deletions
diff --git a/src/client/linux/minidump_writer/linux_dumper.h b/src/client/linux/minidump_writer/linux_dumper.h
index 7a4cd3a3..b0c479a9 100644
--- a/src/client/linux/minidump_writer/linux_dumper.h
+++ b/src/client/linux/minidump_writer/linux_dumper.h
@@ -36,7 +36,7 @@
#include <sys/types.h>
#include <sys/user.h>
-#include "common/linux/memory.h"
+#include "common/memory.h"
#include "google_breakpad/common/minidump_format.h"
namespace google_breakpad {
diff --git a/src/client/linux/minidump_writer/linux_dumper_unittest.cc b/src/client/linux/minidump_writer/linux_dumper_unittest.cc
index da454742..8cfb6004 100644
--- a/src/client/linux/minidump_writer/linux_dumper_unittest.cc
+++ b/src/client/linux/minidump_writer/linux_dumper_unittest.cc
@@ -35,7 +35,7 @@
#include "breakpad_googletest_includes.h"
#include "client/linux/minidump_writer/linux_dumper.h"
#include "common/linux/file_id.h"
-#include "common/linux/memory.h"
+#include "common/memory.h"
using namespace google_breakpad;
diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc
index 6b55ade0..d629ee81 100644
--- a/src/client/linux/minidump_writer/minidump_writer.cc
+++ b/src/client/linux/minidump_writer/minidump_writer.cc
@@ -662,12 +662,13 @@ class MinidumpWriter {
// Try to get 128 bytes before and after the IP, but
// settle for whatever's available.
ip_memory_d.start_of_memory_range =
- std::min(mapping.start_addr,
+ std::max(mapping.start_addr,
uintptr_t(ip - (kIPMemorySize / 2)));
+ uintptr_t end_of_range =
+ std::min(uintptr_t(ip + (kIPMemorySize / 2)),
+ uintptr_t(mapping.start_addr + mapping.size));
ip_memory_d.memory.data_size =
- std::min(ptrdiff_t(kIPMemorySize),
- ptrdiff_t(mapping.start_addr + mapping.size
- - ip_memory_d.start_of_memory_range));
+ end_of_range - ip_memory_d.start_of_memory_range;
break;
}
}