Rewrite raw pointer fields to use raw_ptr<T> for mac

This reapplies the rewrite_raw_ptr_fields rewriter on Mac platform.

This change is a merge of the following changes:
PS1 raw_ptr rewrite generated by
    rewrite-multiple-platforms.sh mac
    on 7227cf9d6cd1dee9218e50ff5bf6cf16af2916d0
PS2 Unrewrite and exclude field that is used as reference with AutoReset on non-mac platforms
PS3 Fix compile errors caused by NULL
PS4 Unrewrite and exclude pointer to Objective-C object
PS5 Rebase
PS6 Unrewrite and exclude pointer to Objective-C object
PS7 Fix compile errors caused by NULL
PS8 Format code

AX-Relnotes: n/a.
Bug: 1073933
Change-Id: I1154ea591397ec0eeef4eeea9fea84eeeb14fff6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3720981
Owners-Override: Bartek Nowierski <bartekn@chromium.org>
Reviewed-by: Bartek Nowierski <bartekn@chromium.org>
Owners-Override: Keishi Hattori <keishi@chromium.org>
Commit-Queue: Keishi Hattori <keishi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1017853}
NOKEYCHECK=True
GitOrigin-RevId: 7c3c718c0bdf135e2de3f9b6810316e929a9e353
1 file changed
tree: 2fcce35fe53f88b78cbfa1e4cca7b831a2d1e67b
  1. fuzzer_support_ios/
  2. fuzzers/
  3. proto/
  4. tests/
  5. AFL_integration.md
  6. archive_corpus.py
  7. BUILD.gn
  8. dictionary_generator.py
  9. efficient_fuzzing.md
  10. fuzzer_test.gni
  11. gen_fuzzer_config.py
  12. gen_fuzzer_owners.py
  13. getting_started.md
  14. libfuzzer_exports.h
  15. libFuzzer_integration.md
  16. libprotobuf-mutator.md
  17. OWNERS
  18. README.md
  19. reference.md
  20. reproducing.md
  21. unittest_main.cc
  22. zip_sources.py
README.md

Fuzz testing in Chromium

go/chrome-fuzzing

Fuzzing is a testing technique that feeds auto-generated inputs to a piece of target code in an attempt to crash the code. It's one of the most effective methods we have for finding security and stability issues (see go/fuzzing-success). You can learn more about the benefits of fuzzing at go/why-fuzz.

This documentation covers the in-process guided fuzzing approach employed by different fuzzing engines, such as libFuzzer or AFL. To learn more about out-of-process fuzzers, please refer to the Blackbox fuzzing page in the ClusterFuzz documentation.

Getting Started

In Chromium, you can easily create and submit fuzz targets. The targets are automatically discovered by buildbots, built with different fuzzing engines, then uploaded to the distributed ClusterFuzz fuzzing system to run at scale.

Create your first fuzz target and submit it by stepping through our Getting Started Guide.

Advanced Topics

Further Reading

Trophies

Other Links