blob: aafe2d96ed2093d8f433cf4bc1dedc7888dd2bb2 [file] [log] [blame]
Peter Boström62e9bda2015-11-23 15:12:06 +01001# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010010import("//build/config/features.gni")
katrielc839315b2016-06-20 06:03:39 -070011import("//testing/libfuzzer/fuzzer_test.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010012
ehmaldonado38a21322016-09-02 04:10:34 -070013rtc_static_library("webrtc_fuzzer_main") {
Peter Boström62e9bda2015-11-23 15:12:06 +010014 sources = [
15 "webrtc_fuzzer_main.cc",
16 ]
17 deps = [
ehmaldonadof6a861a2017-07-19 10:40:47 -070018 "../../rtc_base:rtc_base_approved",
Peter Boström62e9bda2015-11-23 15:12:06 +010019 "//testing/libfuzzer:libfuzzer_main",
20 ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020021
22 # When WebRTC fuzzer tests are built on Chromium bots they need to link
Christian Fremereyee002e62018-09-19 12:33:57 -070023 # with Chromium's implementation of metrics and field trial.
Mirko Bonadei15212f32018-09-18 23:41:33 +020024 if (build_with_chromium) {
Christian Fremereyee002e62018-09-19 12:33:57 -070025 deps += [
26 "../../../webrtc_overrides:field_trial",
27 "../../../webrtc_overrides:metrics",
28 ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020029 }
Peter Boström62e9bda2015-11-23 15:12:06 +010030}
31
philipel0c87e292018-05-17 16:44:47 +020032rtc_static_library("fuzz_data_helper") {
33 sources = [
34 "fuzz_data_helper.cc",
35 "fuzz_data_helper.h",
36 ]
37 deps = [
38 "../../api:array_view",
39 "../../modules/rtp_rtcp:rtp_rtcp_format",
40 ]
41 visibility = [ ":*" ] # Only targets in this file can depend on this.
42}
43
katrielc839315b2016-06-20 06:03:39 -070044template("webrtc_fuzzer_test") {
45 fuzzer_test(target_name) {
46 forward_variables_from(invoker, "*")
Niels Möller6e878502017-10-05 10:58:49 +020047 deps += [
philipel0c87e292018-05-17 16:44:47 +020048 ":fuzz_data_helper",
Niels Möller6e878502017-10-05 10:58:49 +020049 ":webrtc_fuzzer_main",
50
51 # Link unconditionally with webrtc's TaskQueue, regardless of
52 # rtc_link_task_queue_impl flag.
53 "../../rtc_base:rtc_task_queue_impl",
54 ]
kjellandere40a7ee2016-10-16 23:56:12 -070055 if (!build_with_chromium && is_clang) {
56 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
katrielc839315b2016-06-20 06:03:39 -070057 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
58 }
59 }
60}
61
Peter Boström1e0cfd92015-12-17 14:28:16 +010062webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
63 sources = [
64 "h264_depacketizer_fuzzer.cc",
65 ]
66 deps = [
67 "../../modules/rtp_rtcp",
68 ]
69}
70
71webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
72 sources = [
73 "vp8_depacketizer_fuzzer.cc",
74 ]
75 deps = [
76 "../../modules/rtp_rtcp",
77 ]
78}
79
Peter Boström78315b92015-12-15 21:57:52 +010080webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010081 sources = [
82 "vp9_depacketizer_fuzzer.cc",
83 ]
84 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010085 "../../modules/rtp_rtcp",
86 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010087}
Peter Boström871c4192015-11-26 14:52:23 +010088
Peter Boström78315b92015-12-15 21:57:52 +010089webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010090 sources = [
91 "vp8_qp_parser_fuzzer.cc",
92 ]
93 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070094 "../../modules/video_coding:video_coding_utility",
Peter Boström871c4192015-11-26 14:52:23 +010095 "../../modules/video_coding/",
96 ]
Peter Boström871c4192015-11-26 14:52:23 +010097}
Henrik Lundinfe32a762015-12-08 11:27:27 +010098
asapersson23ec19d2017-06-06 23:41:44 -070099webrtc_fuzzer_test("vp9_qp_parser_fuzzer") {
100 sources = [
101 "vp9_qp_parser_fuzzer.cc",
102 ]
103 deps = [
104 "../../modules/video_coding:video_coding_utility",
105 "../../modules/video_coding/",
106 ]
107}
108
pbosc6b4e542016-11-05 03:10:22 -0700109webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
110 sources = [
111 "h264_bitstream_parser_fuzzer.cc",
112 ]
113 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700114 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -0700115 "../../modules/video_coding/",
116 ]
117}
118
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100119webrtc_fuzzer_test("forward_error_correction_fuzzer") {
120 sources = [
121 "forward_error_correction_fuzzer.cc",
122 ]
123 deps = [
124 "../../modules/rtp_rtcp",
125 "../../modules/rtp_rtcp:rtp_rtcp_format",
126 "../../rtc_base:rtc_base_approved",
127 ]
128 libfuzzer_options = [ "max_len=5000" ]
129}
130
brandtrcada34c2016-10-03 02:02:49 -0700131webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
132 sources = [
133 "flexfec_header_reader_fuzzer.cc",
134 ]
135 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700136 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100137 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700138 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700139 ]
140}
141
brandtr554becd2016-11-06 22:45:15 -0800142webrtc_fuzzer_test("flexfec_sender_fuzzer") {
143 sources = [
144 "flexfec_sender_fuzzer.cc",
145 ]
146 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700147 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100148 "../../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei3edccb92017-06-01 04:47:20 -0700149 "../../system_wrappers",
brandtr554becd2016-11-06 22:45:15 -0800150 ]
151 libfuzzer_options = [ "max_len=200" ]
152}
153
brandtrcada34c2016-10-03 02:02:49 -0700154webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
155 sources = [
156 "ulpfec_header_reader_fuzzer.cc",
157 ]
158 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700159 "../../modules/rtp_rtcp",
160 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100161 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700162 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700163 ]
164}
165
brandtr869e7cd2016-10-31 05:27:07 -0700166webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100167 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700168 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100169 ]
170 deps = [
Ying Wang6b33e602018-07-02 17:28:07 +0200171 "../../modules:module_api_public",
kjellandere0629c02017-04-25 04:04:50 -0700172 "../../modules/rtp_rtcp",
173 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100174 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100175 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700176 "../../rtc_base:rtc_base_approved",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100177 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100178}
179
Mark Brand0c720502017-10-20 16:23:23 +0200180webrtc_fuzzer_test("ulpfec_receiver_fuzzer") {
181 sources = [
182 "ulpfec_receiver_fuzzer.cc",
183 ]
184 deps = [
185 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100186 "../../modules/rtp_rtcp:rtp_rtcp_format",
Mark Brand0c720502017-10-20 16:23:23 +0200187 "../../rtc_base:rtc_base_approved",
188 ]
189 libfuzzer_options = [ "max_len=2000" ]
190}
191
brandtre405d9b2016-10-18 01:18:04 -0700192webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
193 sources = [
194 "flexfec_receiver_fuzzer.cc",
195 ]
196 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700197 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100198 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700199 "../../rtc_base:rtc_base_approved",
brandtre405d9b2016-10-18 01:18:04 -0700200 ]
201 libfuzzer_options = [ "max_len=2000" ]
202}
203
philipelea142f82017-01-11 02:01:56 -0800204webrtc_fuzzer_test("packet_buffer_fuzzer") {
205 sources = [
206 "packet_buffer_fuzzer.cc",
207 ]
208 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700209 "../../modules/video_coding/",
mbonadei3edccb92017-06-01 04:47:20 -0700210 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800211 ]
philipel0c87e292018-05-17 16:44:47 +0200212 libfuzzer_options = [ "max_len=200000" ]
philipelea142f82017-01-11 02:01:56 -0800213}
214
Peter Boströmba3e25e2016-02-23 11:35:30 +0100215webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
216 sources = [
217 "rtcp_receiver_fuzzer.cc",
218 ]
219 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700220 "../../modules/rtp_rtcp",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100221 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700222 "../../rtc_base:rtc_base_approved",
mbonadei3edccb92017-06-01 04:47:20 -0700223 "../../system_wrappers:system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100224 ]
katrielcbddc94b2016-06-22 06:43:22 -0700225 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100226}
227
danilchap1edb7ab2016-04-20 05:25:10 -0700228webrtc_fuzzer_test("rtp_packet_fuzzer") {
229 sources = [
230 "rtp_packet_fuzzer.cc",
231 ]
232 deps = [
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100233 "../../modules/rtp_rtcp:rtp_rtcp_format",
danilchap1edb7ab2016-04-20 05:25:10 -0700234 ]
katrielcbddc94b2016-06-22 06:43:22 -0700235 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700236}
237
katrielcd4bcdad2016-06-23 03:50:39 -0700238webrtc_fuzzer_test("rtp_header_fuzzer") {
239 sources = [
240 "rtp_header_fuzzer.cc",
241 ]
242 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700243 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100244 "../../modules/rtp_rtcp:rtp_rtcp_format",
katrielcd4bcdad2016-06-23 03:50:39 -0700245 ]
246}
247
stefanbded44b2016-07-18 09:26:06 -0700248webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
249 sources = [
250 "congestion_controller_feedback_fuzzer.cc",
251 ]
252 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700253 "../../logging:rtc_event_log_api",
Qingsi Wang970b0882018-02-01 11:04:46 -0800254 "../../logging:rtc_event_log_impl_base",
Niels Möller245f17e2017-08-21 10:45:07 +0200255 "../../modules/congestion_controller",
256 "../../modules/pacing",
mbonadei3edccb92017-06-01 04:47:20 -0700257 "../../modules/remote_bitrate_estimator:remote_bitrate_estimator",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100258 "../../modules/rtp_rtcp:rtp_rtcp_format",
stefanbded44b2016-07-18 09:26:06 -0700259 ]
260}
261
kjellanderb62dbbe2016-09-23 00:38:52 -0700262rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100263 sources = [
264 "audio_decoder_fuzzer.cc",
265 "audio_decoder_fuzzer.h",
266 ]
mbonadei3edccb92017-06-01 04:47:20 -0700267 deps = [
268 "../..:webrtc_common",
269 "../../api/audio_codecs:audio_codecs_api",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100270 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100271 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700272 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200273 "//third_party/abseil-cpp/absl/types:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700274 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100275}
276
Peter Boström78315b92015-12-15 21:57:52 +0100277webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100278 sources = [
279 "audio_decoder_ilbc_fuzzer.cc",
280 ]
281 deps = [
282 ":audio_decoder_fuzzer",
283 "../../modules/audio_coding:ilbc",
284 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200285
286 libfuzzer_options = [ "max_len=10000" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100287}
288
Peter Boström78315b92015-12-15 21:57:52 +0100289webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100290 sources = [
291 "audio_decoder_isac_fuzzer.cc",
292 ]
293 deps = [
294 ":audio_decoder_fuzzer",
295 "../../modules/audio_coding:isac",
296 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200297
298 libfuzzer_options = [ "max_len=20000" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100299}
300
henrik.lundinfd2be272016-02-09 00:00:23 -0800301webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
302 sources = [
303 "audio_decoder_isac_incoming_packet_fuzzer.cc",
304 ]
305 deps = [
306 ":audio_decoder_fuzzer",
307 "../../modules/audio_coding:isac",
308 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200309
310 libfuzzer_options = [ "max_len=20000" ]
henrik.lundinfd2be272016-02-09 00:00:23 -0800311}
312
Peter Boström78315b92015-12-15 21:57:52 +0100313webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100314 sources = [
315 "audio_decoder_isacfix_fuzzer.cc",
316 ]
317 deps = [
318 ":audio_decoder_fuzzer",
319 "../../modules/audio_coding:isac_fix",
320 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200321
322 libfuzzer_options = [ "max_len=20000" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100323}
324
Peter Boström78315b92015-12-15 21:57:52 +0100325webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100326 sources = [
327 "audio_decoder_opus_fuzzer.cc",
328 ]
329 deps = [
330 ":audio_decoder_fuzzer",
331 "../../modules/audio_coding:webrtc_opus",
332 ]
333}
henrik.lundinfd2be272016-02-09 00:00:23 -0800334
335webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
336 sources = [
337 "audio_decoder_opus_redundant_fuzzer.cc",
338 ]
339 deps = [
340 ":audio_decoder_fuzzer",
341 "../../modules/audio_coding:webrtc_opus",
342 ]
343}
katrielc262ba772016-07-06 05:59:23 -0700344
Henrik Lundina29b1482018-05-09 14:56:08 +0200345webrtc_fuzzer_test("audio_encoder_opus_fuzzer") {
346 sources = [
347 "audio_encoder_opus_fuzzer.cc",
348 ]
349 deps = [
Henrik Lundina29b1482018-05-09 14:56:08 +0200350 "../../api:array_view",
351 "../../api/audio_codecs/opus:audio_encoder_opus",
352 "../../rtc_base:checks",
353 "../../rtc_base:rtc_base_approved",
354 ]
355}
356
phoglund667bd072016-09-16 05:05:39 -0700357webrtc_fuzzer_test("turn_unwrap_fuzzer") {
358 sources = [
359 "turn_unwrap_fuzzer.cc",
360 ]
361 deps = [
362 "../../media:media",
Mirko Bonadei75baa492018-01-11 17:07:30 +0100363 "../../media:rtc_media_base",
phoglund667bd072016-09-16 05:05:39 -0700364 ]
365}
katrielc1d4fefb2016-07-06 08:02:00 -0700366
henrik.lundin58466f62016-10-05 02:27:42 -0700367webrtc_fuzzer_test("neteq_rtp_fuzzer") {
368 sources = [
369 "neteq_rtp_fuzzer.cc",
370 ]
371 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700372 "../../api:array_view",
mbonadei3d7b0e22017-04-26 00:38:48 -0700373 "../../modules/audio_coding:neteq",
mbonadei3edccb92017-06-01 04:47:20 -0700374 "../../modules/audio_coding:neteq_test_tools",
henrik.lundinb637a942017-04-28 00:59:45 -0700375 "../../modules/audio_coding:neteq_tools_minimal",
henrik.lundin58466f62016-10-05 02:27:42 -0700376 "../../modules/audio_coding:pcm16b",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100377 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700378 "../../rtc_base:rtc_base_approved",
379 "../../rtc_base:rtc_base_tests_utils",
henrik.lundin58466f62016-10-05 02:27:42 -0700380 ]
Henrik Lundin36c69d52018-07-04 11:23:20 +0200381
382 libfuzzer_options = [ "max_len=100000" ]
henrik.lundin58466f62016-10-05 02:27:42 -0700383}
384
Henrik Lundinb82de302017-10-20 10:38:56 +0200385webrtc_fuzzer_test("neteq_signal_fuzzer") {
386 sources = [
387 "neteq_signal_fuzzer.cc",
388 ]
389 deps = [
390 "../../api:array_view",
391 "../../modules/audio_coding:neteq",
392 "../../modules/audio_coding:neteq_test_tools",
393 "../../modules/audio_coding:neteq_tools_minimal",
394 "../../modules/audio_coding:pcm16b",
Henrik Lundinb82de302017-10-20 10:38:56 +0200395 "../../rtc_base:rtc_base_approved",
396 "../../rtc_base:rtc_base_tests_utils",
397 ]
Henrik Lundin36c69d52018-07-04 11:23:20 +0200398
399 libfuzzer_options = [ "max_len=100000" ]
Henrik Lundinb82de302017-10-20 10:38:56 +0200400}
401
ivoc860249e2017-05-16 06:50:11 -0700402webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
403 sources = [
404 "residual_echo_detector_fuzzer.cc",
405 ]
406 deps = [
ivoc860249e2017-05-16 06:50:11 -0700407 "../../modules/audio_processing:audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100408 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700409 "../../rtc_base:rtc_base_approved",
ivoc860249e2017-05-16 06:50:11 -0700410 ]
411}
412
phoglund667bd072016-09-16 05:05:39 -0700413webrtc_fuzzer_test("sdp_parser_fuzzer") {
414 sources = [
415 "sdp_parser_fuzzer.cc",
416 ]
417 deps = [
Mirko Bonadeie51f7852017-12-06 11:23:19 +0100418 "../../api:libjingle_peerconnection_api",
ossu7bb87ee2017-01-23 04:56:25 -0800419 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700420 ]
421 seed_corpus = "corpora/sdp-corpus"
Patrik Höglund547e3162018-05-22 13:23:36 +0200422 libfuzzer_options = [ "max_len=16384" ]
phoglund667bd072016-09-16 05:05:39 -0700423}
katrielc1d4fefb2016-07-06 08:02:00 -0700424
phoglund667bd072016-09-16 05:05:39 -0700425webrtc_fuzzer_test("stun_parser_fuzzer") {
426 sources = [
427 "stun_parser_fuzzer.cc",
428 ]
429 deps = [
430 "../../p2p:rtc_p2p",
431 ]
432 seed_corpus = "corpora/stun-corpus"
433 dict = "corpora/stun.tokens"
434}
katrielc1d4fefb2016-07-06 08:02:00 -0700435
phoglund667bd072016-09-16 05:05:39 -0700436webrtc_fuzzer_test("stun_validator_fuzzer") {
437 sources = [
438 "stun_validator_fuzzer.cc",
439 ]
440 deps = [
441 "../../p2p:rtc_p2p",
442 ]
443 seed_corpus = "corpora/stun-corpus"
444 dict = "corpora/stun.tokens"
445}
katrielc44905cf2016-07-07 05:52:24 -0700446
Qingsi Wang558b93b2018-08-30 10:38:44 -0700447webrtc_fuzzer_test("mdns_parser_fuzzer") {
448 sources = [
449 "mdns_parser_fuzzer.cc",
450 ]
451 deps = [
452 "../../p2p:rtc_p2p",
453 "../../rtc_base:rtc_base_approved",
454 "//third_party/abseil-cpp/absl/memory",
455 ]
456 seed_corpus = "corpora/mdns-corpus"
457}
458
phoglund667bd072016-09-16 05:05:39 -0700459webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
460 sources = [
461 "pseudotcp_parser_fuzzer.cc",
462 ]
463 deps = [
464 "../../p2p:rtc_p2p",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700465 "../../rtc_base:rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700466 ]
katrielc262ba772016-07-06 05:59:23 -0700467}
minyue435ddf92017-01-23 08:07:05 -0800468
469webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
470 sources = [
471 "transport_feedback_packet_loss_tracker_fuzzer.cc",
472 ]
473 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700474 "../../api:array_view",
Fredrik Solenberga8b7c7f2018-01-17 11:18:31 +0100475 "../../audio",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100476 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700477 "../../rtc_base:rtc_base_approved",
minyue435ddf92017-01-23 08:07:05 -0800478 ]
479}
Alex Loikoab20a602018-01-16 12:50:34 +0100480rtc_static_library("audio_processing_fuzzer_helper") {
aleloi8c512822017-06-20 05:26:55 -0700481 sources = [
Alex Loikoab20a602018-01-16 12:50:34 +0100482 "audio_processing_fuzzer_helper.cc",
483 "audio_processing_fuzzer_helper.h",
aleloi8c512822017-06-20 05:26:55 -0700484 ]
485 deps = [
Alex Loikoab20a602018-01-16 12:50:34 +0100486 ":fuzz_data_helper",
Fredrik Solenbergbbf21a32018-04-12 22:44:09 +0200487 "../../api/audio:audio_frame_api",
aleloi8c512822017-06-20 05:26:55 -0700488 "../../modules/audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100489 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700490 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200491 "//third_party/abseil-cpp/absl/types:optional",
aleloi8c512822017-06-20 05:26:55 -0700492 ]
493}
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100494
Alex Loikoab20a602018-01-16 12:50:34 +0100495webrtc_fuzzer_test("audio_processing_fuzzer") {
496 sources = [
497 "audio_processing_configs_fuzzer.cc",
498 ]
499 deps = [
500 ":audio_processing_fuzzer_helper",
Gustaf Ullberg0efa9412018-02-27 13:58:45 +0100501 "../../api/audio:aec3_factory",
Alex Loikoab20a602018-01-16 12:50:34 +0100502 "../../modules/audio_processing",
Gustaf Ullbergf35c6662018-02-23 13:18:29 +0100503 "../../modules/audio_processing/aec3",
Alex Loikof344dbb2018-06-19 12:33:20 +0200504 "../../modules/audio_processing/aec_dump:mock_aec_dump",
505 "../../rtc_base:ptr_util",
Alex Loikoa05ee822018-02-20 15:58:36 +0100506 "../../rtc_base:rtc_base_approved",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100507 "../../rtc_base:safe_minmax",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200508 "../../system_wrappers:field_trial",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200509 "//third_party/abseil-cpp/absl/memory",
Alex Loikoab20a602018-01-16 12:50:34 +0100510 ]
Alex Loiko38c15d32018-03-02 13:53:09 +0100511 seed_corpus = "corpora/audio_processing-corpus"
Alex Loikoab20a602018-01-16 12:50:34 +0100512}
513
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200514webrtc_fuzzer_test("agc_fuzzer") {
515 sources = [
516 "agc_fuzzer.cc",
517 ]
518 deps = [
519 ":fuzz_data_helper",
520 "../../modules/audio_processing",
521 "../../rtc_base:rtc_base_approved",
522 "../../rtc_base:safe_minmax",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200523 "//third_party/abseil-cpp/absl/memory",
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200524 ]
525
526 seed_corpus = "corpora/agc-corpus"
527 libfuzzer_options = [ "max_len=200000" ]
528}
529
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100530webrtc_fuzzer_test("comfort_noise_decoder_fuzzer") {
531 sources = [
532 "comfort_noise_decoder_fuzzer.cc",
533 ]
534 deps = [
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100535 "../../api:array_view",
536 "../../modules/audio_coding:cng",
537 "../../rtc_base:rtc_base_approved",
538 ]
Henrik Lundinc05bd732018-07-04 11:01:06 +0200539
540 libfuzzer_options = [ "max_len=5000" ]
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100541}
542
philipelc1ee9d52018-05-16 14:06:13 +0200543webrtc_fuzzer_test("rtp_frame_reference_finder_fuzzer") {
544 sources = [
545 "rtp_frame_reference_finder_fuzzer.cc",
546 ]
547 deps = [
548 "../../modules/video_coding/",
549 "../../rtc_base:ptr_util",
550 "../../system_wrappers",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200551 "//third_party/abseil-cpp/absl/memory",
philipelc1ee9d52018-05-16 14:06:13 +0200552 ]
553 libfuzzer_options = [ "max_len=20000" ]
554}
philipel1e9cf7f2018-05-17 13:34:53 +0200555
556webrtc_fuzzer_test("frame_buffer2_fuzzer") {
557 sources = [
558 "frame_buffer2_fuzzer.cc",
559 ]
560 deps = [
561 "../../modules/video_coding/",
562 "../../system_wrappers:system_wrappers",
563 ]
564 libfuzzer_options = [ "max_len=10000" ]
565}