The extra_memory_ranges stored in the intermediate dump and used by
gwp-asan via the ProcessSnapshot are not needed in the minidump. If this
memory were stored in the minidump with gwp-asan, this would double the
size of every iOS minidump.
Instead, add a second bag that is stored in the intermediate dump but
not written to the minidump. Expose an iOS only ProcessSnapshot API that
can be used by the gwp-asan analyzer to use the extra_memory_ranges without increasing the minidump file size.
Change-Id: Ibf7b7fb89cda0a829727c02e5118dc2f6423769f
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6351477
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Port set_extra_memory_ranges support to iOS. Because iOS crashes
are processed in two parts, store the memory data itself (not just
the range) in the intermediate dump, and on post-crash processing,
move the memory to ProcessSnapshot ExtraMemory.
Change-Id: I759d32bec5b451417b078dee4f836db6f6778fb1
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/6341431
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
sed -i '' -E -e 's/Copyright (.+) The Crashpad Authors\. All rights reserved\.$/Copyright \1 The Crashpad Authors/' $(git grep -El 'Copyright (.+) The Crashpad Authors\. All rights reserved\.$')
Bug: chromium:1098010
Change-Id: I8d6138469ddbe3d281a5d83f64cf918ec2491611
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3878262
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Change IOSIntermediateDumpReader to take a new interface that can be
backed by a FilePath (as it is now) or a StringFile byte array, which
can be useful for tests, especially with fuzzing.
Change-Id: I02a25cfb7cd204975d1bcce80201bd10944f3f2e
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3270755
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
This change was partially scripted and partially done manually with vim
regex + manually placing the deleted constructors.
The script change looked for destructors in the public: section of a
class, if that existed the deleted constructors would go before the
destructor.
For manual placement I looked for any constructor in the public: section
of the corresponding class. If there wasn't one, then it would ideally
have gone as the first entry except below enums, classes and typedefs.
This may not have been perfect, but is hopefully good enough. Fingers
crossed.
#include "base/macros.h" is removed from files that don't use
ignore_result, which is the only other thing defined in base/macros.h.
Bug: chromium:1010217
Change-Id: I099526255a40b1ac1264904b4ece2f3f503c9418
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3171034
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>