- Similar to that of clang-fuzzer itself but instead only targets Objective-C source files via cc1
- Also adds an example corpus directory containing some input for Objective-C
Paths
| Differential D69171
[clang-fuzzer] Add new fuzzer target for Objective-C ClosedPublic Authored by dgoldman on Oct 18 2019, 8:14 AM.
Details Summary
Diff Detail
Event TimelineComment Actions Rather than adding a new fuzzer binary, can we make the language an option? Comment Actions
It's similar at the moment (was initially going to add more flags), but I could swap it over to read an integer/Boolean to swap between the two languages. If we want to modify them in the future (which we might be interested in depending on how well this works) it probably makes sense to keep them separate though.
This revision is now accepted and ready to land.Oct 21 2019, 10:27 AM Closed by commit rGe5ecba4f53e7: [clang-fuzzer] Add new fuzzer target for Objective-C (authored by dgoldman). · Explain WhyOct 21 2019, 1:46 PM This revision was automatically updated to reflect the committed changes. dgoldman marked an inline comment as done. Comment Actions Looks reasonable to me. The duplication is unfortunate, but it is reasonable while we have two binaries. However, you could explore reading the command line flags for HandleCXX in LLVMFuzzerInitialize from fuzzer's command line flags. RKSimon added inline comments.
Revision Contents
Diff 225898 tools/clang-fuzzer/CMakeLists.txt
tools/clang-fuzzer/ClangFuzzer.cpp
tools/clang-fuzzer/ClangObjectiveCFuzzer.cpp
tools/clang-fuzzer/Dockerfile
tools/clang-fuzzer/README.txt
tools/clang-fuzzer/corpus_examples/objc/BasicClass.m
tools/clang-fuzzer/corpus_examples/objc/ClassCategory.m
tools/clang-fuzzer/corpus_examples/objc/ClassExtension.m
tools/clang-fuzzer/corpus_examples/objc/SharedInstance.m
tools/clang-fuzzer/handle-cxx/handle_cxx.h
tools/clang-fuzzer/handle-cxx/handle_cxx.cpp
|
Nit: Since it does nothing, let's omit the LLVMFuzzerInitialize definition.