ios: Safely handle database errors when saving crash reports.

Bug: 1317298
Change-Id: Iac4050fc4ec61f391bab85c4d8ac97fd8e898f14
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3591013
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
This commit is contained in:
Justin Cohen 2022-04-18 14:28:19 -04:00 committed by Crashpad LUCI CQ
parent 8647761c7d
commit 12cb55fecf

View File

@ -303,6 +303,7 @@ void InProcessHandler::SaveSnapshot(
if (database_status != CrashReportDatabase::kNoError) {
Metrics::ExceptionCaptureResult(
Metrics::CaptureResult::kPrepareNewCrashReportFailed);
return;
}
process_snapshot.SetReportID(new_report->ReportID());
@ -317,6 +318,7 @@ void InProcessHandler::SaveSnapshot(
if (!minidump.WriteEverything(new_report->Writer())) {
Metrics::ExceptionCaptureResult(
Metrics::CaptureResult::kMinidumpWriteFailed);
return;
}
UUID uuid;
database_status =
@ -324,6 +326,7 @@ void InProcessHandler::SaveSnapshot(
if (database_status != CrashReportDatabase::kNoError) {
Metrics::ExceptionCaptureResult(
Metrics::CaptureResult::kFinishedWritingCrashReportFailed);
return;
}
if (upload_thread_) {