Index: src/processor/exploitability_linux.cc |
=================================================================== |
--- src/processor/exploitability_linux.cc (revision 1468) |
+++ src/processor/exploitability_linux.cc (working copy) |
@@ -82,10 +82,6 @@ |
} |
} |
- // Check if the instruction pointer is in a valid instruction region |
- // by finding if it maps to an executable part of memory. |
- uint64_t instruction_ptr = 0; |
- |
// Getting exception data. (It should exist for all minidumps.) |
MinidumpException *exception = dump_->GetException(); |
if (exception == NULL) { |
@@ -92,6 +88,21 @@ |
BPLOG(INFO) << "No exception record."; |
return EXPLOITABILITY_ERR_PROCESSING; |
} |
+ const MDRawExceptionStream *raw_exception_stream = exception->exception(); |
+ if (raw_exception_stream == NULL) { |
+ BPLOG(INFO) << "No raw exception stream."; |
+ return EXPLOITABILITY_ERR_PROCESSING; |
+ } |
+ |
+ // Checking for benign exceptions that caused the crash. |
+ if (this->BenignCrashTrigger(raw_exception_stream)) { |
+ return EXPLOITABILITY_NONE; |
+ } |
+ |
+ // Check if the instruction pointer is in a valid instruction region |
+ // by finding if it maps to an executable part of memory. |
+ uint64_t instruction_ptr = 0; |
+ |
const MinidumpContext *context = exception->GetContext(); |
if (context == NULL) { |
BPLOG(INFO) << "No exception context."; |
@@ -108,17 +119,6 @@ |
return EXPLOITABILITY_HIGH; |
} |
- const MDRawExceptionStream *raw_exception_stream = exception->exception(); |
- if (raw_exception_stream == NULL) { |
- BPLOG(INFO) << "No raw exception stream."; |
- return EXPLOITABILITY_ERR_PROCESSING; |
- } |
- |
- // Checking for benign exceptions that caused the crash. |
- if (this->BenignCrashTrigger(raw_exception_stream)) { |
- return EXPLOITABILITY_NONE; |
- } |
- |
return EXPLOITABILITY_INTERESTING; |
} |