blob: d417e35215222ef25b4f89888e1577b7ab95c3b0 [file] [log] [blame]
Fabian Meumertzheim5246e522021-01-29 16:20:19 +01001load("//bazel:fuzz_target.bzl", "java_fuzz_target_test")
2
3java_fuzz_target_test(
4 name = "ExampleFuzzer",
5 srcs = [
6 "src/main/java/com/example/ExampleFuzzer.java",
7 "src/main/java/com/example/ExampleFuzzerHooks.java",
8 ],
9 # Comment out the next line to keep the fuzzer running indefinitely.
10 hook_classes = ["com.example.ExampleFuzzerHooks"],
11 target_class = "com.example.ExampleFuzzer",
12 deps = [
13 "//agent/src/main/java/com/code_intelligence/jazzer/api",
14 ],
15)
16
17java_fuzz_target_test(
18 name = "ExampleFuzzerWithNative",
19 srcs = [
20 "src/main/java/com/example/ExampleFuzzerWithNative.java",
21 ],
22 native_libs = ["//examples/src/main/native"],
23 target_class = "com.example.ExampleFuzzerWithNative",
24 use_asan = True,
25 deps = [
26 "//agent:jazzer_api_deploy.jar",
27 ],
28)
29
30java_fuzz_target_test(
31 name = "ExampleValueProfileFuzzer",
32 srcs = [
33 "src/main/java/com/example/ExampleValueProfileFuzzer.java",
34 ],
35 # Comment out the next line to keep the fuzzer running indefinitely.
36 fuzzer_args = ["-use_value_profile=1"],
37 target_class = "com.example.ExampleValueProfileFuzzer",
38 deps = [
39 "//agent/src/main/java/com/code_intelligence/jazzer/api",
40 ],
41)
42
43java_fuzz_target_test(
44 name = "JpegImageParserFuzzer",
45 srcs = [
46 "src/main/java/com/example/JpegImageParserFuzzer.java",
47 ],
48 target_class = "com.example.JpegImageParserFuzzer",
49 deps = [
50 "@maven//:org_apache_commons_commons_imaging",
51 ],
52)
53
54java_fuzz_target_test(
55 name = "GifImageParserFuzzer",
56 srcs = [
57 "src/main/java/com/example/GifImageParserFuzzer.java",
58 ],
59 target_class = "com.example.GifImageParserFuzzer",
60 deps = [
61 "@maven//:org_apache_commons_commons_imaging",
62 ],
63)
64
65java_fuzz_target_test(
66 name = "TiffImageParserFuzzer",
67 srcs = [
68 "src/main/java/com/example/TiffImageParserFuzzer.java",
69 ],
70 tags = ["manual"],
71 target_class = "com.example.TiffImageParserFuzzer",
72 deps = [
73 "@maven//:org_apache_commons_commons_imaging",
74 ],
75)
76
77java_fuzz_target_test(
78 name = "JsonSanitizerFuzzer",
79 srcs = [
80 "src/main/java/com/example/JsonSanitizerFuzzer.java",
81 ],
82 target_class = "com.example.JsonSanitizerFuzzer",
83 deps = [
84 "//agent/src/main/java/com/code_intelligence/jazzer/api",
85 "@maven//:com_google_code_gson_gson",
86 "@maven//:com_mikesamuel_json_sanitizer",
87 ],
88)
89
90java_fuzz_target_test(
91 name = "JacksonCborFuzzer",
92 srcs = [
93 "src/main/java/com/example/JacksonCborFuzzer.java",
94 ],
95 target_class = "com.example.JacksonCborFuzzer",
96 deps = [
97 "@maven//:com_fasterxml_jackson_core_jackson_core",
98 "@maven//:com_fasterxml_jackson_core_jackson_databind",
99 "@maven//:com_fasterxml_jackson_dataformat_jackson_dataformat_cbor",
100 ],
101)
102
103java_fuzz_target_test(
104 name = "FastJsonFuzzer",
105 srcs = [
106 "src/main/java/com/example/FastJsonFuzzer.java",
107 ],
108 target_class = "com.example.FastJsonFuzzer",
109 deps = [
110 "//agent/src/main/java/com/code_intelligence/jazzer/api",
111 "@maven//:com_alibaba_fastjson",
112 ],
113)
114
115java_fuzz_target_test(
116 name = "TurboJpegFuzzer",
117 srcs = [
118 "src/main/java/com/example/TurboJpegFuzzer.java",
119 ],
120 fuzzer_args = [
121 "-rss_limit_mb=8196",
122 ],
123 native_libs = [
124 "@libjpeg_turbo//:turbojpeg_native",
125 ],
126 tags = ["manual"],
127 target_class = "com.example.TurboJpegFuzzer",
128 use_asan = True,
129 deps = [
130 "//agent/src/main/java/com/code_intelligence/jazzer/api",
131 "@libjpeg_turbo//:turbojpeg_java",
132 ],
133)
134
135java_binary(
136 name = "examples",
137 create_executable = False,
138 resource_jars = [
139 ":ExampleFuzzer_target_deploy.jar",
140 ":ExampleValueProfileFuzzer_target_deploy.jar",
141 ":FastJsonFuzzer_target_deploy.jar",
142 ":GifImageParserFuzzer_target_deploy.jar",
143 ":JacksonCborFuzzer_target_deploy.jar",
144 ":JpegImageParserFuzzer_target_deploy.jar",
145 ":JsonSanitizerFuzzer_target_deploy.jar",
146 ":TiffImageParserFuzzer_target_deploy.jar",
147 ],
148 visibility = ["//visibility:public"],
149)