oss-fuzz
oss-fuzz copied to clipboard
pdfium: initial integration
This is very raw at the moment. Below indicates what works/does not
work. Follow up is needed and will return to this a bit later. One problem
that should be addressed is how/whether to compile by way of gn in the oss-fuzz environment.
What works:
- compiling pdfium fuzzers with OSS-Fuzz clang, i.e. libfuzzer engine, and running of these fuzzers.
What does not work
- coverage: compiles, runs, but fails with:
Running pdf_cmap_fuzzer
[2022-07-19 12:55:12,467 INFO] Finding shared libraries for targets (if
any).
[2022-07-19 12:55:12,473 INFO] Finished finding shared libraries for
targets.
error: ../../third_party/abseil-cpp/absl/synchronization/mutex.cc: No
such file or directory
warning: Could not read coverage for '_ZN4absl9ConditionC2Ev'.
[2022-07-19 12:55:13,081 INFO] Finding shared libraries for targets (if
any).
[2022-07-19 12:55:13,086 INFO] Finished finding shared libraries for
targets.
[0;31merror: ../../core/fdrm/fx_crypt.cpp: No such file or directory
[0m[0;31mwarning: The file '../../core/fdrm/fx_crypt.cpp' isn't covered.
[0m[0;31merror: ../../core/fdrm/fx_crypt_aes.cpp: No such file or
directory
...
[0m[0;31mwarning: The file '../../third_party/zlib/zutil.c' isn't covered.
[0m[0;31merror: ../../third_party/zlib/zutil.h: No such file or directory
[0m[0;31mwarning: The file '../../third_party/zlib/zutil.h' isn't covered.
[0m[2022-07-19 12:55:13,644 ERROR] Default coverage report dir does not exist: /out/report/coverage.
Traceback (most recent call last):
File "/opt/code_coverage/coverage_utils.py", line 829, in <module>
sys.exit(Main())
File "/opt/code_coverage/coverage_utils.py", line 823, in Main
return _CmdPostProcess(args)
File "/opt/code_coverage/coverage_utils.py", line 780, in _CmdPostProcess
processor.PrepareHtmlReport()
File "/opt/code_coverage/coverage_utils.py", line 572, in PrepareHtmlReport
self.RenameDefaultCoverageDirectory()
File "/opt/code_coverage/coverage_utils.py", line 556, in RenameDefaultCoverageDirectory
MergeTwoDirectories(default_report_subdir_path, self.report_root_dir)
File "/opt/code_coverage/coverage_utils.py", line 727, in MergeTwoDirectories
for filename in os.listdir(src_dir_path):
FileNotFoundError: [Errno 2] No such file or directory: '/out/report/coverage'
ERROR:root:Failed to generate clang code coverage report.
- fuzzers dependent on v8. They compile but fail a DCHECK in v8 GetPlatform.
- pdfium_fuzzer. It compiles but throws an error when run.
- compiling with AFL++.