blob: df834bb3f04c787f27d0693cf5243b61c13dd0c1 [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öm89d658f2015-11-25 21:58:36 +010019 "../../system_wrappers:field_trial_default",
Peter Boström871c4192015-11-26 14:52:23 +010020 "../../system_wrappers:metrics_default",
Ilya Nikolaevskiy2ffe3e82018-01-17 19:57:24 +000021 "../../system_wrappers:runtime_enabled_features_default",
Peter Boström62e9bda2015-11-23 15:12:06 +010022 "//testing/libfuzzer:libfuzzer_main",
23 ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020024
25 # When WebRTC fuzzer tests are built on Chromium bots they need to link
Christian Fremereyee002e62018-09-19 12:33:57 -070026 # with Chromium's implementation of metrics and field trial.
Mirko Bonadei15212f32018-09-18 23:41:33 +020027 if (build_with_chromium) {
Christian Fremereyee002e62018-09-19 12:33:57 -070028 deps += [
29 "../../../webrtc_overrides:field_trial",
30 "../../../webrtc_overrides:metrics",
31 ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020032 }
Peter Boström62e9bda2015-11-23 15:12:06 +010033}
34
philipel0c87e292018-05-17 16:44:47 +020035rtc_static_library("fuzz_data_helper") {
36 sources = [
37 "fuzz_data_helper.cc",
38 "fuzz_data_helper.h",
39 ]
40 deps = [
41 "../../api:array_view",
42 "../../modules/rtp_rtcp:rtp_rtcp_format",
43 ]
44 visibility = [ ":*" ] # Only targets in this file can depend on this.
45}
46
katrielc839315b2016-06-20 06:03:39 -070047template("webrtc_fuzzer_test") {
48 fuzzer_test(target_name) {
49 forward_variables_from(invoker, "*")
Niels Möller6e878502017-10-05 10:58:49 +020050 deps += [
philipel0c87e292018-05-17 16:44:47 +020051 ":fuzz_data_helper",
Niels Möller6e878502017-10-05 10:58:49 +020052 ":webrtc_fuzzer_main",
53
54 # Link unconditionally with webrtc's TaskQueue, regardless of
55 # rtc_link_task_queue_impl flag.
56 "../../rtc_base:rtc_task_queue_impl",
57 ]
kjellandere40a7ee2016-10-16 23:56:12 -070058 if (!build_with_chromium && is_clang) {
59 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
katrielc839315b2016-06-20 06:03:39 -070060 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
61 }
62 }
63}
64
Peter Boström1e0cfd92015-12-17 14:28:16 +010065webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
66 sources = [
67 "h264_depacketizer_fuzzer.cc",
68 ]
69 deps = [
70 "../../modules/rtp_rtcp",
71 ]
72}
73
74webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
75 sources = [
76 "vp8_depacketizer_fuzzer.cc",
77 ]
78 deps = [
79 "../../modules/rtp_rtcp",
80 ]
81}
82
Peter Boström78315b92015-12-15 21:57:52 +010083webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010084 sources = [
85 "vp9_depacketizer_fuzzer.cc",
86 ]
87 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010088 "../../modules/rtp_rtcp",
89 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010090}
Peter Boström871c4192015-11-26 14:52:23 +010091
Peter Boström78315b92015-12-15 21:57:52 +010092webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010093 sources = [
94 "vp8_qp_parser_fuzzer.cc",
95 ]
96 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070097 "../../modules/video_coding:video_coding_utility",
Peter Boström871c4192015-11-26 14:52:23 +010098 "../../modules/video_coding/",
99 ]
Peter Boström871c4192015-11-26 14:52:23 +0100100}
Henrik Lundinfe32a762015-12-08 11:27:27 +0100101
asapersson23ec19d2017-06-06 23:41:44 -0700102webrtc_fuzzer_test("vp9_qp_parser_fuzzer") {
103 sources = [
104 "vp9_qp_parser_fuzzer.cc",
105 ]
106 deps = [
107 "../../modules/video_coding:video_coding_utility",
108 "../../modules/video_coding/",
109 ]
110}
111
pbosc6b4e542016-11-05 03:10:22 -0700112webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
113 sources = [
114 "h264_bitstream_parser_fuzzer.cc",
115 ]
116 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700117 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -0700118 "../../modules/video_coding/",
119 ]
120}
121
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100122webrtc_fuzzer_test("forward_error_correction_fuzzer") {
123 sources = [
124 "forward_error_correction_fuzzer.cc",
125 ]
126 deps = [
127 "../../modules/rtp_rtcp",
128 "../../modules/rtp_rtcp:rtp_rtcp_format",
129 "../../rtc_base:rtc_base_approved",
130 ]
131 libfuzzer_options = [ "max_len=5000" ]
132}
133
brandtrcada34c2016-10-03 02:02:49 -0700134webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
135 sources = [
136 "flexfec_header_reader_fuzzer.cc",
137 ]
138 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700139 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100140 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700141 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700142 ]
143}
144
brandtr554becd2016-11-06 22:45:15 -0800145webrtc_fuzzer_test("flexfec_sender_fuzzer") {
146 sources = [
147 "flexfec_sender_fuzzer.cc",
148 ]
149 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700150 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100151 "../../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei3edccb92017-06-01 04:47:20 -0700152 "../../system_wrappers",
brandtr554becd2016-11-06 22:45:15 -0800153 ]
154 libfuzzer_options = [ "max_len=200" ]
155}
156
brandtrcada34c2016-10-03 02:02:49 -0700157webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
158 sources = [
159 "ulpfec_header_reader_fuzzer.cc",
160 ]
161 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700162 "../../modules/rtp_rtcp",
163 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100164 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700165 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700166 ]
167}
168
brandtr869e7cd2016-10-31 05:27:07 -0700169webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100170 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700171 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100172 ]
173 deps = [
Ying Wang6b33e602018-07-02 17:28:07 +0200174 "../../modules:module_api_public",
kjellandere0629c02017-04-25 04:04:50 -0700175 "../../modules/rtp_rtcp",
176 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100177 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100178 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700179 "../../rtc_base:rtc_base_approved",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100180 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100181}
182
Mark Brand0c720502017-10-20 16:23:23 +0200183webrtc_fuzzer_test("ulpfec_receiver_fuzzer") {
184 sources = [
185 "ulpfec_receiver_fuzzer.cc",
186 ]
187 deps = [
188 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100189 "../../modules/rtp_rtcp:rtp_rtcp_format",
Mark Brand0c720502017-10-20 16:23:23 +0200190 "../../rtc_base:rtc_base_approved",
191 ]
192 libfuzzer_options = [ "max_len=2000" ]
193}
194
brandtre405d9b2016-10-18 01:18:04 -0700195webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
196 sources = [
197 "flexfec_receiver_fuzzer.cc",
198 ]
199 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700200 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100201 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700202 "../../rtc_base:rtc_base_approved",
brandtre405d9b2016-10-18 01:18:04 -0700203 ]
204 libfuzzer_options = [ "max_len=2000" ]
205}
206
philipelea142f82017-01-11 02:01:56 -0800207webrtc_fuzzer_test("packet_buffer_fuzzer") {
208 sources = [
209 "packet_buffer_fuzzer.cc",
210 ]
211 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700212 "../../modules/video_coding/",
mbonadei3edccb92017-06-01 04:47:20 -0700213 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800214 ]
philipel0c87e292018-05-17 16:44:47 +0200215 libfuzzer_options = [ "max_len=200000" ]
philipelea142f82017-01-11 02:01:56 -0800216}
217
Peter Boströmba3e25e2016-02-23 11:35:30 +0100218webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
219 sources = [
220 "rtcp_receiver_fuzzer.cc",
221 ]
222 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700223 "../../modules/rtp_rtcp",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100224 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700225 "../../rtc_base:rtc_base_approved",
mbonadei3edccb92017-06-01 04:47:20 -0700226 "../../system_wrappers:system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100227 ]
katrielcbddc94b2016-06-22 06:43:22 -0700228 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100229}
230
danilchap1edb7ab2016-04-20 05:25:10 -0700231webrtc_fuzzer_test("rtp_packet_fuzzer") {
232 sources = [
233 "rtp_packet_fuzzer.cc",
234 ]
235 deps = [
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100236 "../../modules/rtp_rtcp:rtp_rtcp_format",
danilchap1edb7ab2016-04-20 05:25:10 -0700237 ]
katrielcbddc94b2016-06-22 06:43:22 -0700238 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700239}
240
katrielcd4bcdad2016-06-23 03:50:39 -0700241webrtc_fuzzer_test("rtp_header_fuzzer") {
242 sources = [
243 "rtp_header_fuzzer.cc",
244 ]
245 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700246 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100247 "../../modules/rtp_rtcp:rtp_rtcp_format",
katrielcd4bcdad2016-06-23 03:50:39 -0700248 ]
249}
250
stefanbded44b2016-07-18 09:26:06 -0700251webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
252 sources = [
253 "congestion_controller_feedback_fuzzer.cc",
254 ]
255 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700256 "../../logging:rtc_event_log_api",
Qingsi Wang970b0882018-02-01 11:04:46 -0800257 "../../logging:rtc_event_log_impl_base",
Niels Möller245f17e2017-08-21 10:45:07 +0200258 "../../modules/congestion_controller",
259 "../../modules/pacing",
mbonadei3edccb92017-06-01 04:47:20 -0700260 "../../modules/remote_bitrate_estimator:remote_bitrate_estimator",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100261 "../../modules/rtp_rtcp:rtp_rtcp_format",
stefanbded44b2016-07-18 09:26:06 -0700262 ]
263}
264
kjellanderb62dbbe2016-09-23 00:38:52 -0700265rtc_static_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100266 sources = [
267 "audio_decoder_fuzzer.cc",
268 "audio_decoder_fuzzer.h",
269 ]
mbonadei3edccb92017-06-01 04:47:20 -0700270 deps = [
271 "../..:webrtc_common",
272 "../../api/audio_codecs:audio_codecs_api",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100273 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100274 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700275 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200276 "//third_party/abseil-cpp/absl/types:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700277 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100278}
279
Peter Boström78315b92015-12-15 21:57:52 +0100280webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100281 sources = [
282 "audio_decoder_ilbc_fuzzer.cc",
283 ]
284 deps = [
285 ":audio_decoder_fuzzer",
286 "../../modules/audio_coding:ilbc",
287 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200288
289 libfuzzer_options = [ "max_len=10000" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100290}
291
Peter Boström78315b92015-12-15 21:57:52 +0100292webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100293 sources = [
294 "audio_decoder_isac_fuzzer.cc",
295 ]
296 deps = [
297 ":audio_decoder_fuzzer",
298 "../../modules/audio_coding:isac",
299 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200300
301 libfuzzer_options = [ "max_len=20000" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100302}
303
henrik.lundinfd2be272016-02-09 00:00:23 -0800304webrtc_fuzzer_test("audio_decoder_isac_incoming_packet_fuzzer") {
305 sources = [
306 "audio_decoder_isac_incoming_packet_fuzzer.cc",
307 ]
308 deps = [
309 ":audio_decoder_fuzzer",
310 "../../modules/audio_coding:isac",
311 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200312
313 libfuzzer_options = [ "max_len=20000" ]
henrik.lundinfd2be272016-02-09 00:00:23 -0800314}
315
Peter Boström78315b92015-12-15 21:57:52 +0100316webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100317 sources = [
318 "audio_decoder_isacfix_fuzzer.cc",
319 ]
320 deps = [
321 ":audio_decoder_fuzzer",
322 "../../modules/audio_coding:isac_fix",
323 ]
Henrik Lundin0f5dc8b2018-07-05 15:37:57 +0200324
325 libfuzzer_options = [ "max_len=20000" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100326}
327
Peter Boström78315b92015-12-15 21:57:52 +0100328webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100329 sources = [
330 "audio_decoder_opus_fuzzer.cc",
331 ]
332 deps = [
333 ":audio_decoder_fuzzer",
334 "../../modules/audio_coding:webrtc_opus",
335 ]
336}
henrik.lundinfd2be272016-02-09 00:00:23 -0800337
338webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
339 sources = [
340 "audio_decoder_opus_redundant_fuzzer.cc",
341 ]
342 deps = [
343 ":audio_decoder_fuzzer",
344 "../../modules/audio_coding:webrtc_opus",
345 ]
346}
katrielc262ba772016-07-06 05:59:23 -0700347
Henrik Lundina29b1482018-05-09 14:56:08 +0200348webrtc_fuzzer_test("audio_encoder_opus_fuzzer") {
349 sources = [
350 "audio_encoder_opus_fuzzer.cc",
351 ]
352 deps = [
Henrik Lundina29b1482018-05-09 14:56:08 +0200353 "../../api:array_view",
354 "../../api/audio_codecs/opus:audio_encoder_opus",
355 "../../rtc_base:checks",
356 "../../rtc_base:rtc_base_approved",
357 ]
358}
359
phoglund667bd072016-09-16 05:05:39 -0700360webrtc_fuzzer_test("turn_unwrap_fuzzer") {
361 sources = [
362 "turn_unwrap_fuzzer.cc",
363 ]
364 deps = [
365 "../../media:media",
Mirko Bonadei75baa492018-01-11 17:07:30 +0100366 "../../media:rtc_media_base",
phoglund667bd072016-09-16 05:05:39 -0700367 ]
368}
katrielc1d4fefb2016-07-06 08:02:00 -0700369
henrik.lundin58466f62016-10-05 02:27:42 -0700370webrtc_fuzzer_test("neteq_rtp_fuzzer") {
371 sources = [
372 "neteq_rtp_fuzzer.cc",
373 ]
374 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700375 "../../api:array_view",
mbonadei3d7b0e22017-04-26 00:38:48 -0700376 "../../modules/audio_coding:neteq",
mbonadei3edccb92017-06-01 04:47:20 -0700377 "../../modules/audio_coding:neteq_test_tools",
henrik.lundinb637a942017-04-28 00:59:45 -0700378 "../../modules/audio_coding:neteq_tools_minimal",
henrik.lundin58466f62016-10-05 02:27:42 -0700379 "../../modules/audio_coding:pcm16b",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100380 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700381 "../../rtc_base:rtc_base_approved",
382 "../../rtc_base:rtc_base_tests_utils",
henrik.lundin58466f62016-10-05 02:27:42 -0700383 ]
Henrik Lundin36c69d52018-07-04 11:23:20 +0200384
385 libfuzzer_options = [ "max_len=100000" ]
henrik.lundin58466f62016-10-05 02:27:42 -0700386}
387
Henrik Lundinb82de302017-10-20 10:38:56 +0200388webrtc_fuzzer_test("neteq_signal_fuzzer") {
389 sources = [
390 "neteq_signal_fuzzer.cc",
391 ]
392 deps = [
393 "../../api:array_view",
394 "../../modules/audio_coding:neteq",
395 "../../modules/audio_coding:neteq_test_tools",
396 "../../modules/audio_coding:neteq_tools_minimal",
397 "../../modules/audio_coding:pcm16b",
Henrik Lundinb82de302017-10-20 10:38:56 +0200398 "../../rtc_base:rtc_base_approved",
399 "../../rtc_base:rtc_base_tests_utils",
400 ]
Henrik Lundin36c69d52018-07-04 11:23:20 +0200401
402 libfuzzer_options = [ "max_len=100000" ]
Henrik Lundinb82de302017-10-20 10:38:56 +0200403}
404
ivoc860249e2017-05-16 06:50:11 -0700405webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
406 sources = [
407 "residual_echo_detector_fuzzer.cc",
408 ]
409 deps = [
ivoc860249e2017-05-16 06:50:11 -0700410 "../../modules/audio_processing:audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100411 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700412 "../../rtc_base:rtc_base_approved",
ivoc860249e2017-05-16 06:50:11 -0700413 ]
414}
415
phoglund667bd072016-09-16 05:05:39 -0700416webrtc_fuzzer_test("sdp_parser_fuzzer") {
417 sources = [
418 "sdp_parser_fuzzer.cc",
419 ]
420 deps = [
Mirko Bonadeie51f7852017-12-06 11:23:19 +0100421 "../../api:libjingle_peerconnection_api",
ossu7bb87ee2017-01-23 04:56:25 -0800422 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700423 ]
424 seed_corpus = "corpora/sdp-corpus"
Patrik Höglund547e3162018-05-22 13:23:36 +0200425 libfuzzer_options = [ "max_len=16384" ]
phoglund667bd072016-09-16 05:05:39 -0700426}
katrielc1d4fefb2016-07-06 08:02:00 -0700427
phoglund667bd072016-09-16 05:05:39 -0700428webrtc_fuzzer_test("stun_parser_fuzzer") {
429 sources = [
430 "stun_parser_fuzzer.cc",
431 ]
432 deps = [
433 "../../p2p:rtc_p2p",
434 ]
435 seed_corpus = "corpora/stun-corpus"
436 dict = "corpora/stun.tokens"
437}
katrielc1d4fefb2016-07-06 08:02:00 -0700438
phoglund667bd072016-09-16 05:05:39 -0700439webrtc_fuzzer_test("stun_validator_fuzzer") {
440 sources = [
441 "stun_validator_fuzzer.cc",
442 ]
443 deps = [
444 "../../p2p:rtc_p2p",
445 ]
446 seed_corpus = "corpora/stun-corpus"
447 dict = "corpora/stun.tokens"
448}
katrielc44905cf2016-07-07 05:52:24 -0700449
Qingsi Wang558b93b2018-08-30 10:38:44 -0700450webrtc_fuzzer_test("mdns_parser_fuzzer") {
451 sources = [
452 "mdns_parser_fuzzer.cc",
453 ]
454 deps = [
455 "../../p2p:rtc_p2p",
456 "../../rtc_base:rtc_base_approved",
457 "//third_party/abseil-cpp/absl/memory",
458 ]
459 seed_corpus = "corpora/mdns-corpus"
460}
461
phoglund667bd072016-09-16 05:05:39 -0700462webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
463 sources = [
464 "pseudotcp_parser_fuzzer.cc",
465 ]
466 deps = [
467 "../../p2p:rtc_p2p",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700468 "../../rtc_base:rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700469 ]
katrielc262ba772016-07-06 05:59:23 -0700470}
minyue435ddf92017-01-23 08:07:05 -0800471
472webrtc_fuzzer_test("transport_feedback_packet_loss_tracker_fuzzer") {
473 sources = [
474 "transport_feedback_packet_loss_tracker_fuzzer.cc",
475 ]
476 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700477 "../../api:array_view",
Fredrik Solenberga8b7c7f2018-01-17 11:18:31 +0100478 "../../audio",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100479 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700480 "../../rtc_base:rtc_base_approved",
minyue435ddf92017-01-23 08:07:05 -0800481 ]
482}
Alex Loikoab20a602018-01-16 12:50:34 +0100483rtc_static_library("audio_processing_fuzzer_helper") {
aleloi8c512822017-06-20 05:26:55 -0700484 sources = [
Alex Loikoab20a602018-01-16 12:50:34 +0100485 "audio_processing_fuzzer_helper.cc",
486 "audio_processing_fuzzer_helper.h",
aleloi8c512822017-06-20 05:26:55 -0700487 ]
488 deps = [
Alex Loikoab20a602018-01-16 12:50:34 +0100489 ":fuzz_data_helper",
Fredrik Solenbergbbf21a32018-04-12 22:44:09 +0200490 "../../api/audio:audio_frame_api",
aleloi8c512822017-06-20 05:26:55 -0700491 "../../modules/audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100492 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700493 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200494 "//third_party/abseil-cpp/absl/types:optional",
aleloi8c512822017-06-20 05:26:55 -0700495 ]
496}
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100497
Alex Loikoab20a602018-01-16 12:50:34 +0100498webrtc_fuzzer_test("audio_processing_fuzzer") {
499 sources = [
500 "audio_processing_configs_fuzzer.cc",
501 ]
502 deps = [
503 ":audio_processing_fuzzer_helper",
Gustaf Ullberg0efa9412018-02-27 13:58:45 +0100504 "../../api/audio:aec3_factory",
Alex Loikoab20a602018-01-16 12:50:34 +0100505 "../../modules/audio_processing",
Gustaf Ullbergf35c6662018-02-23 13:18:29 +0100506 "../../modules/audio_processing/aec3",
Alex Loikof344dbb2018-06-19 12:33:20 +0200507 "../../modules/audio_processing/aec_dump:mock_aec_dump",
508 "../../rtc_base:ptr_util",
Alex Loikoa05ee822018-02-20 15:58:36 +0100509 "../../rtc_base:rtc_base_approved",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100510 "../../rtc_base:safe_minmax",
Sam Zackrisson790da372018-06-19 10:46:04 +0200511 "../../system_wrappers:field_trial_default",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200512 "//third_party/abseil-cpp/absl/memory",
Alex Loikoab20a602018-01-16 12:50:34 +0100513 ]
Alex Loiko38c15d32018-03-02 13:53:09 +0100514 seed_corpus = "corpora/audio_processing-corpus"
Alex Loikoab20a602018-01-16 12:50:34 +0100515}
516
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200517webrtc_fuzzer_test("agc_fuzzer") {
518 sources = [
519 "agc_fuzzer.cc",
520 ]
521 deps = [
522 ":fuzz_data_helper",
523 "../../modules/audio_processing",
524 "../../rtc_base:rtc_base_approved",
525 "../../rtc_base:safe_minmax",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200526 "//third_party/abseil-cpp/absl/memory",
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200527 ]
528
529 seed_corpus = "corpora/agc-corpus"
530 libfuzzer_options = [ "max_len=200000" ]
531}
532
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100533webrtc_fuzzer_test("comfort_noise_decoder_fuzzer") {
534 sources = [
535 "comfort_noise_decoder_fuzzer.cc",
536 ]
537 deps = [
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100538 "../../api:array_view",
539 "../../modules/audio_coding:cng",
540 "../../rtc_base:rtc_base_approved",
541 ]
Henrik Lundinc05bd732018-07-04 11:01:06 +0200542
543 libfuzzer_options = [ "max_len=5000" ]
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100544}
545
philipelc1ee9d52018-05-16 14:06:13 +0200546webrtc_fuzzer_test("rtp_frame_reference_finder_fuzzer") {
547 sources = [
548 "rtp_frame_reference_finder_fuzzer.cc",
549 ]
550 deps = [
551 "../../modules/video_coding/",
552 "../../rtc_base:ptr_util",
553 "../../system_wrappers",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200554 "//third_party/abseil-cpp/absl/memory",
philipelc1ee9d52018-05-16 14:06:13 +0200555 ]
556 libfuzzer_options = [ "max_len=20000" ]
557}
philipel1e9cf7f2018-05-17 13:34:53 +0200558
559webrtc_fuzzer_test("frame_buffer2_fuzzer") {
560 sources = [
561 "frame_buffer2_fuzzer.cc",
562 ]
563 deps = [
564 "../../modules/video_coding/",
565 "../../system_wrappers:system_wrappers",
566 ]
567 libfuzzer_options = [ "max_len=10000" ]
568}