mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
445 lines
9.1 KiB
Plaintext
445 lines
9.1 KiB
Plaintext
|
# Copyright 2015 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
# Individual libfuzzer tests that didn't find their home yet.
|
||
|
|
||
|
import("//build/config/features.gni")
|
||
|
import("//testing/libfuzzer/fuzzer_test.gni")
|
||
|
import("//third_party/protobuf/proto_library.gni")
|
||
|
|
||
|
# root BUILD depends on this target. Needed for package discovery
|
||
|
group("fuzzers") {
|
||
|
}
|
||
|
|
||
|
fuzzer_test("empty_fuzzer") {
|
||
|
sources = [
|
||
|
"empty_fuzzer.cc",
|
||
|
]
|
||
|
additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("courgette_fuzzer") {
|
||
|
sources = [
|
||
|
"courgette_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//courgette:courgette_lib",
|
||
|
]
|
||
|
additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("language_detection_fuzzer") {
|
||
|
sources = [
|
||
|
"language_detection_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//components/translate/core/language_detection:language_detection",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("snappy_fuzzer") {
|
||
|
sources = [
|
||
|
"snappy_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/snappy:snappy",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("template_url_parser_fuzzer") {
|
||
|
sources = [
|
||
|
"template_url_parser_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//base:i18n",
|
||
|
"//components/search_engines:search_engines",
|
||
|
]
|
||
|
dict = "dicts/xml.dict"
|
||
|
libfuzzer_options = [ "max_len=4096" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("url_parse_proto_fuzzer") {
|
||
|
sources = [
|
||
|
"url_parse_proto_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
":url_proto",
|
||
|
"//base",
|
||
|
"//base:i18n",
|
||
|
"//third_party/libprotobuf-mutator",
|
||
|
"//url:url",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
proto_library("url_proto") {
|
||
|
sources = [
|
||
|
"url.proto",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("usrsctp_fuzzer") {
|
||
|
sources = [
|
||
|
"usrsctp_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/usrsctp",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("libsrtp_fuzzer") {
|
||
|
sources = [
|
||
|
"libsrtp_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/libsrtp",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=1500" ]
|
||
|
}
|
||
|
|
||
|
libpng_seed_corpuses = [
|
||
|
"//components/viz/test/data",
|
||
|
"//third_party/WebKit/LayoutTests/images/png-suite/samples",
|
||
|
"//third_party/WebKit/LayoutTests/images/resources/pngfuzz",
|
||
|
]
|
||
|
|
||
|
fuzzer_test("gfx_png_image_fuzzer") {
|
||
|
sources = [
|
||
|
"gfx_png_image_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//ui/gfx",
|
||
|
]
|
||
|
dict = "dicts/png.dict"
|
||
|
seed_corpuses = libpng_seed_corpuses
|
||
|
}
|
||
|
|
||
|
fuzzer_test("libxml_xml_read_memory_fuzzer") {
|
||
|
sources = [
|
||
|
"libxml_xml_read_memory_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/libxml:libxml",
|
||
|
]
|
||
|
dict = "dicts/generated/libxml_xml_read_memory_fuzzer.dict"
|
||
|
}
|
||
|
|
||
|
fuzzer_test("libpng_read_fuzzer") {
|
||
|
sources = [
|
||
|
"libpng_read_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//third_party/libpng",
|
||
|
]
|
||
|
dict = "dicts/png.dict"
|
||
|
seed_corpuses = libpng_seed_corpuses
|
||
|
}
|
||
|
|
||
|
fuzzer_test("libpng_progressive_read_fuzzer") {
|
||
|
sources = [
|
||
|
"libpng_read_fuzzer.cc",
|
||
|
]
|
||
|
defines = [ "PNG_FUZZ_PROGRESSIVE" ]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//third_party/libpng",
|
||
|
]
|
||
|
dict = "dicts/png.dict"
|
||
|
seed_corpuses = libpng_seed_corpuses
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_script_parser_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:parser_fuzzer",
|
||
|
]
|
||
|
dict = "dicts/generated/javascript.dict"
|
||
|
seed_corpus = "//v8/test/mjsunit/regress/"
|
||
|
libfuzzer_options = [ "only_ascii=1" ]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_json_parser_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:json_fuzzer",
|
||
|
]
|
||
|
dict = "dicts/json.dict"
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_regexp_parser_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:regexp_fuzzer",
|
||
|
]
|
||
|
dict = "dicts/regexp.dict"
|
||
|
seed_corpus = "//v8/test/fuzzer/regexp/"
|
||
|
libfuzzer_options = [ "max_len=64" ]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_regexp_builtins_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:regexp_builtins_fuzzer",
|
||
|
]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_multi_return_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:multi_return_fuzzer",
|
||
|
]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_wasm_code_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:wasm_code_fuzzer",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=500" ]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_wasm_compile_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:wasm_compile_fuzzer",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=500" ]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_wasm_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:wasm_fuzzer",
|
||
|
]
|
||
|
dict = "dicts/v8_wasm.dict"
|
||
|
seed_corpus = "//v8/test/fuzzer/wasm_corpus/"
|
||
|
libfuzzer_options = [ "max_len=500" ]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_wasm_async_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//v8:wasm_async_fuzzer",
|
||
|
]
|
||
|
dict = "dicts/v8_wasm.dict"
|
||
|
seed_corpus = "//v8/test/fuzzer/wasm_corpus/"
|
||
|
libfuzzer_options = [ "max_len=500" ]
|
||
|
environment_variables = [ "AFL_DRIVER_DONT_DEFER=1" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("convert_woff2ttf_fuzzer") {
|
||
|
sources = [
|
||
|
"convert_woff2ttf_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/woff2:woff2_dec",
|
||
|
]
|
||
|
seed_corpus = "//testing/libfuzzer/fuzzers/woff2_corpus"
|
||
|
libfuzzer_options = [ "max_len=803500" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("flatbuffers_verifier_fuzzer") {
|
||
|
sources = [
|
||
|
"flatbuffers_verifier_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/flatbuffers",
|
||
|
"//third_party/flatbuffers:flatbuffers_samplebuffer",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=1024" ]
|
||
|
seed_corpus = "//testing/libfuzzer/fuzzers/flatbuffers_corpus"
|
||
|
}
|
||
|
|
||
|
fuzzer_test("skia_path_fuzzer") {
|
||
|
sources = [
|
||
|
"skia_path_common.cc",
|
||
|
"skia_path_common.h",
|
||
|
"skia_path_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//skia",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=256" ]
|
||
|
if (is_debug) {
|
||
|
# Disabled due to crashing on SkASSERT (crbug.com/642750, crbug.com/643275).
|
||
|
additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fuzzer_test("skia_pathop_fuzzer") {
|
||
|
sources = [
|
||
|
"skia_path_common.cc",
|
||
|
"skia_path_common.h",
|
||
|
"skia_pathop_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//skia",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=512" ]
|
||
|
if (is_debug) {
|
||
|
# Disabled due to crashing on SkASSERT (crbug.com/642750, crbug.com/643275).
|
||
|
additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fuzzer_test("prtime_fuzzer") {
|
||
|
sources = [
|
||
|
"prtime_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
]
|
||
|
dict = "dicts/prtime.dict"
|
||
|
libfuzzer_options = [ "max_len=1024" ]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("angle_translator_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//third_party/angle:translator_fuzzer",
|
||
|
]
|
||
|
libfuzzer_options = [ "max_len=1000" ]
|
||
|
dict = "dicts/webgl-glsl.dict"
|
||
|
}
|
||
|
|
||
|
if (target_cpu == "x86" || target_cpu == "x64") {
|
||
|
fuzzer_test("swiftshader_vertex_routine_fuzzer") {
|
||
|
sources = []
|
||
|
deps = [
|
||
|
"//third_party/swiftshader:vertex_routine_fuzzer",
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fuzzer_test("sha1_fuzzer") {
|
||
|
sources = [
|
||
|
"sha1_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("hash_fuzzer") {
|
||
|
sources = [
|
||
|
"hash_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
# third_party/minizip/src is checked out only on unix platform by gclient.
|
||
|
if (is_linux) {
|
||
|
fuzzer_test("minizip_uncompress_fuzzer") {
|
||
|
sources = [
|
||
|
"minizip_uncompress_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/minizip:minizip",
|
||
|
]
|
||
|
seed_corpus = "//testing/libfuzzer/fuzzers/minizip_uncompress_corpus"
|
||
|
}
|
||
|
|
||
|
fuzzer_test("minizip_compress_fuzzer") {
|
||
|
sources = [
|
||
|
"minizip_compress_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//third_party/minizip:minizip",
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
action("gen_javascript_parser_proto") {
|
||
|
# Only targets in this file and the top-level visibility target can
|
||
|
# depend on this.
|
||
|
visibility = [
|
||
|
":*",
|
||
|
"//:gn_visibility",
|
||
|
]
|
||
|
|
||
|
script = "generate_javascript_parser_proto.py"
|
||
|
|
||
|
sources = [
|
||
|
"dicts/javascript_parser_proto.dict",
|
||
|
]
|
||
|
|
||
|
outputs = [
|
||
|
"$target_gen_dir/javascript_parser.proto",
|
||
|
"$target_gen_dir/javascript_parser_proto_to_string.cc",
|
||
|
]
|
||
|
|
||
|
args = rebase_path(outputs, root_build_dir) +
|
||
|
rebase_path(sources, root_build_dir)
|
||
|
}
|
||
|
|
||
|
proto_library("javascript_parser_proto") {
|
||
|
sources = [
|
||
|
"$target_gen_dir/javascript_parser.proto",
|
||
|
]
|
||
|
deps = [
|
||
|
":gen_javascript_parser_proto",
|
||
|
]
|
||
|
proto_out_dir = ""
|
||
|
}
|
||
|
|
||
|
fuzzer_test("javascript_parser_proto_fuzzer") {
|
||
|
generated_sources = [ "$target_gen_dir/javascript_parser_proto_to_string.cc" ]
|
||
|
sources = [
|
||
|
"javascript_parser_proto_fuzzer.cc",
|
||
|
"javascript_parser_proto_to_string.h",
|
||
|
]
|
||
|
deps = [
|
||
|
":gen_javascript_parser_proto",
|
||
|
":javascript_parser_proto",
|
||
|
"//third_party/libprotobuf-mutator",
|
||
|
"//v8:v8",
|
||
|
"//v8:v8_libplatform",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
fuzzer_test("v8_fully_instrumented_fuzzer") {
|
||
|
sources = [
|
||
|
"v8_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//v8:v8",
|
||
|
"//v8:v8_libplatform",
|
||
|
]
|
||
|
dict = "dicts/generated/javascript.dict"
|
||
|
libfuzzer_options = [ "only_ascii=1" ]
|
||
|
}
|
||
|
|
||
|
if (!is_win) {
|
||
|
fuzzer_test("skia_image_filter_proto_fuzzer") {
|
||
|
sources = [
|
||
|
"skia_image_filter_proto_fuzzer.cc",
|
||
|
]
|
||
|
|
||
|
deps = [
|
||
|
"//base",
|
||
|
"//base/test:test_support",
|
||
|
"//skia",
|
||
|
"//testing/libfuzzer/proto:skia_image_filter_converter",
|
||
|
"//testing/libfuzzer/proto:skia_image_filter_proto",
|
||
|
"//third_party/libprotobuf-mutator",
|
||
|
]
|
||
|
}
|
||
|
}
|