aboutsummaryrefslogtreecommitdiff
path: root/src/processor/exploitability_linux.h
diff options
context:
space:
mode:
authorLiu.andrew.x@gmail.com <Liu.andrew.x@gmail.com>2015-06-30 20:34:39 +0000
committerLiu.andrew.x@gmail.com <Liu.andrew.x@gmail.com>2015-06-30 20:34:39 +0000
commit12213a5e15b60f0027fb2271908f4d52494a617b (patch)
tree6e15d03a81be492f74b69d95058337aee4383112 /src/processor/exploitability_linux.h
parentThis CL adds support for ARM and ARM64 architectures when calculating (diff)
downloadbreakpad-12213a5e15b60f0027fb2271908f4d52494a617b.tar.xz
Checking for benign exceptions that trigger a minidump.
If the exception reponsible for the crash is benign, such as a floating point exception, we can rule out the possibility that the code is exploitable. This CL checks for such exceptions and marks the dump as not exploitable if such an exception is found. R=ivanpe@chromium.org Review URL: https://codereview.chromium.org/1212383004 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1467 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/exploitability_linux.h')
-rw-r--r--src/processor/exploitability_linux.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/processor/exploitability_linux.h b/src/processor/exploitability_linux.h
index 95607602..42f9bc52 100644
--- a/src/processor/exploitability_linux.h
+++ b/src/processor/exploitability_linux.h
@@ -53,6 +53,10 @@ class ExploitabilityLinux : public Exploitability {
// This method takes the address of the instruction pointer and returns
// whether the instruction pointer lies in a valid instruction region.
bool InstructionPointerInCode(uint64_t instruction_ptr);
+
+ // This method checks the exception that triggered the creation of the
+ // minidump and reports whether the exception suggests no exploitability.
+ bool BenignCrashTrigger(const MDRawExceptionStream *raw_exception_stream);
};
} // namespace google_breakpad