commit | 1cf99ea4d2f4d844f5158433142cf1510b34429d | [log] [tgz] |
---|---|---|
author | Ben Hamilton <benhamilton@google.com> | Thu Jan 20 17:04:00 2022 |
committer | Crashpad LUCI CQ <crashpad-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Jan 20 19:13:46 2022 |
tree | 593674e428ce7915d799d43d1c7ddbf3d14a6f25 | |
parent | fd732953ceb05b8b9ad9bf192c796392a4ad1158 [diff] |
[Crashpad/iOS] Harden CrashHandler against crashes during intermediate dump processing https://crrev.com/c/3399252 fixed a heap overrun in iOS intermediate dump processing. This is a follow-up to that change to harden `CrashHandler` against similar crashes: 1) Ensure the destructor of `ScopedAlternateWriter` is invoked to restore `InProcessHandler::writer_` state before processing the intermediate dump (otherwise, a signal raised by the intermediate dump handler would dereference the empty `std::unique_ptr` in `InProcessHandler::writer_`). 2) Harden `InProcessHandler` to check if `writer_` is empty before handling signals or exceptions Change-Id: I1e63a496395b26681632302e8915b4433897037a Bug: 391 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3401766 Reviewed-by: Justin Cohen <justincohen@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org>
Crashpad is a crash-reporting system.
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.