|author||Ivan Penkov <email@example.com>||Wed Sep 06 18:21:48 2023|
|committer||Joshua Peraza <firstname.lastname@example.org>||Wed Sep 06 20:16:57 2023|
The ARM64 stack walker was doing an illegal down cast from base-class (StackFrame) to derived-class (StackFrameARM64). Inline frames are always of the base-class type (StackFrame). Treating them as derived-class and accessing members is causing buffer overflows. Change-Id: Ib41b74256e6162e7d2b14ca3905dfaf5591b9c86 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/4847317 Reviewed-by: Joshua Peraza <email@example.com>
Breakpad is a set of client and server components which implement a crash-reporting system.
First, download depot_tools and ensure that they’re in your
Create a new directory for checking out the source code (it must be named breakpad).
mkdir breakpad && cd breakpad
fetch tool from depot_tools to download all the source repos.
fetch breakpad cd src
Build the source.
./configure && make
You can also cd to another directory and run configure from there to build outside the source tree.
This will build the processor tools (
src/processor/minidump_dump, etc), and when building on Linux it will also build the client libraries and some tools (
Optionally, run tests.
Optionally, install the built libraries
If you need to reconfigure your build be sure to run
make distclean first.
To update an existing checkout to a newer revision, you can
git pull as usual, but then you should run
gclient sync to ensure that the dependent repos are up-to-date.
Follow the steps above to get the source and build it.
Make changes. Build and test your changes. For core code like processor use methods above. For linux/mac/windows, there are test targets in each project file.
Commit your changes to your local repo and upload them to the server. http://dev.chromium.org/developers/contributing-code e.g.
git commit ... && git cl upload ... You will be prompted for credential and a description.
At https://chromium-review.googlesource.com/ you'll find your issue listed; click on it, then “Add reviewer”, and enter in the code reviewer. Depending on your settings, you may not see an email, but the reviewer has been notified with firstname.lastname@example.org always CC’d.