sm-ext-accelerator-2023/patches/0001-Ignore-invalid-modules-rather-than-bailing-on-the-en.patch

52 lines
2.0 KiB
Diff

From 58a7ad704435fa7c7c401683cdf4bcad5f67718d Mon Sep 17 00:00:00 2001
From: Asher Baker <asherkin@limetech.io>
Date: Sun, 13 Jan 2019 12:34:45 +0000
Subject: [PATCH 1/2] Ignore invalid modules rather than bailing on the entire
module list
---
src/processor/minidump.cc | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
index afc5f038..63d4a426 100644
--- a/src/processor/minidump.cc
+++ b/src/processor/minidump.cc
@@ -2766,7 +2766,7 @@ bool MinidumpModuleList::Read(uint32_t expected_size) {
BPLOG(ERROR) << "MinidumpModuleList could not read required module "
"auxiliary data for module " <<
module_index << "/" << module_count;
- return false;
+ continue;
}
// It is safe to use module->code_file() after successfully calling
@@ -2778,7 +2778,14 @@ bool MinidumpModuleList::Read(uint32_t expected_size) {
BPLOG(ERROR) << "MinidumpModuleList found bad base address for module "
<< module_index << "/" << module_count << ", "
<< module.code_file();
- return false;
+ continue;
+ }
+
+ if (module_size == static_cast<uint32_t>(-1)) {
+ BPLOG(ERROR) << "MinidumpModuleList found bad size for module "
+ << module_index << "/" << module_count << ", "
+ << module.code_file();
+ continue;
}
// Some minidumps have additional modules in the list that are duplicates.
@@ -2805,7 +2812,7 @@ bool MinidumpModuleList::Read(uint32_t expected_size) {
<< module_index << "/" << module_count << ", "
<< module.code_file() << ", " << HexString(base_address)
<< "+" << HexString(module_size);
- return false;
+ continue;
}
// If failed due to apparent range overlap the cause may be the client
--
2.17.2