summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorerikwright <erikwright@chromium.org>2015-06-18 08:56:50 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-18 15:57:32 +0000
commit777cdeefb5598f4ef2ff4035c98e7150177a54ff (patch)
treecc4f73175b82c1077b64c394bf319ec805b0b2ef /components
parent1ed455648fccd126cf8ab3e5bfe6918a6c2d2a6f (diff)
downloadchromium_src-777cdeefb5598f4ef2ff4035c98e7150177a54ff.zip
chromium_src-777cdeefb5598f4ef2ff4035c98e7150177a54ff.tar.gz
chromium_src-777cdeefb5598f4ef2ff4035c98e7150177a54ff.tar.bz2
Do not double-report SyzyASAN reports. Report only via Kasko as SyzyASAN will shortly rely on Kasko-only features.
BUG=460512 Review URL: https://codereview.chromium.org/1184273004 Cr-Commit-Position: refs/heads/master@{#335050}
Diffstat (limited to 'components')
-rw-r--r--components/crash/app/breakpad_win.cc26
1 files changed, 15 insertions, 11 deletions
diff --git a/components/crash/app/breakpad_win.cc b/components/crash/app/breakpad_win.cc
index 423bb4f..bfce051 100644
--- a/components/crash/app/breakpad_win.cc
+++ b/components/crash/app/breakpad_win.cc
@@ -368,6 +368,20 @@ bool ShowRestartDialogIfCrashed(bool* exit_now) {
return WrapMessageBoxWithSEH(message.c_str(), title.c_str(), flags, exit_now);
}
+extern "C" void __declspec(dllexport) TerminateProcessWithoutDump() {
+ // Patched stub exists based on conditions (See InitCrashReporter).
+ // As a side note this function also gets called from
+ // WindowProcExceptionFilter.
+ if (g_real_terminate_process_stub == NULL) {
+ ::TerminateProcess(::GetCurrentProcess(), content::RESULT_CODE_KILLED);
+ } else {
+ NtTerminateProcessPtr real_terminate_proc =
+ reinterpret_cast<NtTerminateProcessPtr>(
+ static_cast<char*>(g_real_terminate_process_stub));
+ real_terminate_proc(::GetCurrentProcess(), content::RESULT_CODE_KILLED);
+ }
+}
+
// Crashes the process after generating a dump for the provided exception. Note
// that the crash reporter should be initialized before calling this function
// for it to do anything.
@@ -378,17 +392,7 @@ extern "C" int __declspec(dllexport) CrashForException(
EXCEPTION_POINTERS* info) {
if (g_breakpad) {
g_breakpad->WriteMinidumpForException(info);
- // Patched stub exists based on conditions (See InitCrashReporter).
- // As a side note this function also gets called from
- // WindowProcExceptionFilter.
- if (g_real_terminate_process_stub == NULL) {
- ::TerminateProcess(::GetCurrentProcess(), content::RESULT_CODE_KILLED);
- } else {
- NtTerminateProcessPtr real_terminate_proc =
- reinterpret_cast<NtTerminateProcessPtr>(
- static_cast<char*>(g_real_terminate_process_stub));
- real_terminate_proc(::GetCurrentProcess(), content::RESULT_CODE_KILLED);
- }
+ TerminateProcessWithoutDump();
}
return EXCEPTION_CONTINUE_SEARCH;
}