blob: a063d6a62cd42c45ab84c2dc522768e922770bf3 [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
9import("//build/config/features.gni")
katrielc839315b2016-06-20 06:03:39 -070010import("//testing/libfuzzer/fuzzer_test.gni")
Mirko Bonadeie3abb812018-11-23 13:15:08 +010011import("../../webrtc.gni")
Peter Boström62e9bda2015-11-23 15:12:06 +010012
Mirko Bonadei86d053c2019-10-17 21:32:04 +020013rtc_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
Mirko Bonadei86d053c2019-10-17 21:32:04 +020032rtc_library("fuzz_data_helper") {
philipel0c87e292018-05-17 16:44:47 +020033 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",
Niels Möller6e878502017-10-05 10:58:49 +020050 ]
kjellandere40a7ee2016-10-16 23:56:12 -070051 if (!build_with_chromium && is_clang) {
katrielc839315b2016-06-20 06:03:39 -070052 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
53 }
54 }
55}
56
Peter Boström1e0cfd92015-12-17 14:28:16 +010057webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
58 sources = [
59 "h264_depacketizer_fuzzer.cc",
60 ]
61 deps = [
62 "../../modules/rtp_rtcp",
63 ]
64}
65
Benjamin Wright6a5e9762019-03-12 11:29:12 -070066webrtc_fuzzer_test("generic_depacketizer_fuzzer") {
67 sources = [
68 "generic_depacketizer_fuzzer.cc",
69 ]
70 deps = [
71 "../../modules/rtp_rtcp",
72 ]
73}
74
Peter Boström1e0cfd92015-12-17 14:28:16 +010075webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
76 sources = [
77 "vp8_depacketizer_fuzzer.cc",
78 ]
79 deps = [
80 "../../modules/rtp_rtcp",
81 ]
82}
83
Peter Boström78315b92015-12-15 21:57:52 +010084webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010085 sources = [
86 "vp9_depacketizer_fuzzer.cc",
87 ]
88 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010089 "../../modules/rtp_rtcp",
90 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010091}
Peter Boström871c4192015-11-26 14:52:23 +010092
Peter Boström78315b92015-12-15 21:57:52 +010093webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010094 sources = [
95 "vp8_qp_parser_fuzzer.cc",
96 ]
97 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070098 "../../modules/video_coding:video_coding_utility",
Peter Boström871c4192015-11-26 14:52:23 +010099 "../../modules/video_coding/",
100 ]
Peter Boström871c4192015-11-26 14:52:23 +0100101}
Henrik Lundinfe32a762015-12-08 11:27:27 +0100102
asapersson23ec19d2017-06-06 23:41:44 -0700103webrtc_fuzzer_test("vp9_qp_parser_fuzzer") {
104 sources = [
105 "vp9_qp_parser_fuzzer.cc",
106 ]
107 deps = [
108 "../../modules/video_coding:video_coding_utility",
109 "../../modules/video_coding/",
110 ]
111}
112
pbosc6b4e542016-11-05 03:10:22 -0700113webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
114 sources = [
115 "h264_bitstream_parser_fuzzer.cc",
116 ]
117 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700118 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -0700119 "../../modules/video_coding/",
120 ]
121}
122
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100123webrtc_fuzzer_test("forward_error_correction_fuzzer") {
124 sources = [
125 "forward_error_correction_fuzzer.cc",
126 ]
127 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100128 "../../api:scoped_refptr",
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100129 "../../modules/rtp_rtcp",
130 "../../modules/rtp_rtcp:rtp_rtcp_format",
131 "../../rtc_base:rtc_base_approved",
132 ]
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100133}
134
brandtrcada34c2016-10-03 02:02:49 -0700135webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
136 sources = [
137 "flexfec_header_reader_fuzzer.cc",
138 ]
139 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100140 "../../api:scoped_refptr",
kjellandere0629c02017-04-25 04:04:50 -0700141 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100142 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700143 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700144 ]
145}
146
brandtr554becd2016-11-06 22:45:15 -0800147webrtc_fuzzer_test("flexfec_sender_fuzzer") {
148 sources = [
149 "flexfec_sender_fuzzer.cc",
150 ]
151 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700152 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100153 "../../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei3edccb92017-06-01 04:47:20 -0700154 "../../system_wrappers",
brandtr554becd2016-11-06 22:45:15 -0800155 ]
brandtr554becd2016-11-06 22:45:15 -0800156}
157
brandtrcada34c2016-10-03 02:02:49 -0700158webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
159 sources = [
160 "ulpfec_header_reader_fuzzer.cc",
161 ]
162 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100163 "../../api:scoped_refptr",
kjellandere0629c02017-04-25 04:04:50 -0700164 "../../modules/rtp_rtcp",
165 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100166 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700167 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700168 ]
169}
170
brandtr869e7cd2016-10-31 05:27:07 -0700171webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100172 sources = [
brandtr869e7cd2016-10-31 05:27:07 -0700173 "ulpfec_generator_fuzzer.cc",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100174 ]
175 deps = [
Ying Wang6b33e602018-07-02 17:28:07 +0200176 "../../modules:module_api_public",
kjellandere0629c02017-04-25 04:04:50 -0700177 "../../modules/rtp_rtcp",
178 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100179 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100180 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700181 "../../rtc_base:rtc_base_approved",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100182 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100183}
184
Mark Brand0c720502017-10-20 16:23:23 +0200185webrtc_fuzzer_test("ulpfec_receiver_fuzzer") {
186 sources = [
187 "ulpfec_receiver_fuzzer.cc",
188 ]
189 deps = [
Danil Chapovalov04fd2152019-09-20 11:40:12 +0200190 ":fuzz_data_helper",
Mark Brand0c720502017-10-20 16:23:23 +0200191 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100192 "../../modules/rtp_rtcp:rtp_rtcp_format",
Mark Brand0c720502017-10-20 16:23:23 +0200193 "../../rtc_base:rtc_base_approved",
194 ]
Mark Brand0c720502017-10-20 16:23:23 +0200195}
196
brandtre405d9b2016-10-18 01:18:04 -0700197webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
198 sources = [
199 "flexfec_receiver_fuzzer.cc",
200 ]
201 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700202 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100203 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700204 "../../rtc_base:rtc_base_approved",
brandtre405d9b2016-10-18 01:18:04 -0700205 ]
brandtre405d9b2016-10-18 01:18:04 -0700206}
207
philipelea142f82017-01-11 02:01:56 -0800208webrtc_fuzzer_test("packet_buffer_fuzzer") {
209 sources = [
210 "packet_buffer_fuzzer.cc",
211 ]
212 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700213 "../../modules/video_coding/",
mbonadei3edccb92017-06-01 04:47:20 -0700214 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800215 ]
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",
Jonathan Metzman9f80b972018-10-05 10:38:13 -0700224 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100225 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700226 "../../rtc_base:rtc_base_approved",
Artem Titov94b57c02019-03-21 13:35:10 +0100227 "../../system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100228 ]
katrielcbddc94b2016-06-22 06:43:22 -0700229 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100230}
231
danilchap1edb7ab2016-04-20 05:25:10 -0700232webrtc_fuzzer_test("rtp_packet_fuzzer") {
233 sources = [
234 "rtp_packet_fuzzer.cc",
235 ]
236 deps = [
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100237 "../../modules/rtp_rtcp:rtp_rtcp_format",
Johannes Kron54047be2019-02-21 14:09:20 +0000238 "//third_party/abseil-cpp/absl/types:optional",
danilchap1edb7ab2016-04-20 05:25:10 -0700239 ]
katrielcbddc94b2016-06-22 06:43:22 -0700240 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700241}
242
katrielcd4bcdad2016-06-23 03:50:39 -0700243webrtc_fuzzer_test("rtp_header_fuzzer") {
244 sources = [
245 "rtp_header_fuzzer.cc",
246 ]
247 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700248 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100249 "../../modules/rtp_rtcp:rtp_rtcp_format",
katrielcd4bcdad2016-06-23 03:50:39 -0700250 ]
251}
252
stefanbded44b2016-07-18 09:26:06 -0700253webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
254 sources = [
255 "congestion_controller_feedback_fuzzer.cc",
256 ]
257 deps = [
Niels Möller245f17e2017-08-21 10:45:07 +0200258 "../../modules/congestion_controller",
259 "../../modules/pacing",
Artem Titov94b57c02019-03-21 13:35:10 +0100260 "../../modules/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
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200265rtc_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 = [
mbonadei3edccb92017-06-01 04:47:20 -0700271 "../../api/audio_codecs:audio_codecs_api",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100272 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100273 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700274 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200275 "//third_party/abseil-cpp/absl/types:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700276 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100277}
278
Peter Boström78315b92015-12-15 21:57:52 +0100279webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100280 sources = [
281 "audio_decoder_ilbc_fuzzer.cc",
282 ]
283 deps = [
284 ":audio_decoder_fuzzer",
285 "../../modules/audio_coding:ilbc",
286 ]
287}
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 ]
297}
298
Peter Boström78315b92015-12-15 21:57:52 +0100299webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100300 sources = [
301 "audio_decoder_isacfix_fuzzer.cc",
302 ]
303 deps = [
304 ":audio_decoder_fuzzer",
305 "../../modules/audio_coding:isac_fix",
306 ]
307}
308
Peter Boström78315b92015-12-15 21:57:52 +0100309webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100310 sources = [
311 "audio_decoder_opus_fuzzer.cc",
312 ]
313 deps = [
314 ":audio_decoder_fuzzer",
315 "../../modules/audio_coding:webrtc_opus",
316 ]
317}
henrik.lundinfd2be272016-02-09 00:00:23 -0800318
319webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
320 sources = [
321 "audio_decoder_opus_redundant_fuzzer.cc",
322 ]
323 deps = [
324 ":audio_decoder_fuzzer",
325 "../../modules/audio_coding:webrtc_opus",
326 ]
327}
katrielc262ba772016-07-06 05:59:23 -0700328
Alex Loikoe5b94162019-04-08 17:19:41 +0200329webrtc_fuzzer_test("audio_decoder_multiopus_fuzzer") {
330 sources = [
331 "audio_decoder_multistream_opus_fuzzer.cc",
332 ]
333 deps = [
334 ":audio_decoder_fuzzer",
335 "../../api/audio_codecs/opus:audio_decoder_multiopus",
Alex Loiko44c21f42019-04-25 15:09:32 +0200336 "../../api/audio_codecs/opus:audio_decoder_opus_config",
Alex Loikoe5b94162019-04-08 17:19:41 +0200337 ]
338}
339
Henrik Lundina29b1482018-05-09 14:56:08 +0200340webrtc_fuzzer_test("audio_encoder_opus_fuzzer") {
341 sources = [
342 "audio_encoder_opus_fuzzer.cc",
343 ]
344 deps = [
Henrik Lundina29b1482018-05-09 14:56:08 +0200345 "../../api:array_view",
346 "../../api/audio_codecs/opus:audio_encoder_opus",
347 "../../rtc_base:checks",
348 "../../rtc_base:rtc_base_approved",
349 ]
350}
351
phoglund667bd072016-09-16 05:05:39 -0700352webrtc_fuzzer_test("turn_unwrap_fuzzer") {
353 sources = [
354 "turn_unwrap_fuzzer.cc",
355 ]
356 deps = [
Artem Titov94b57c02019-03-21 13:35:10 +0100357 "../../media",
Mirko Bonadei75baa492018-01-11 17:07:30 +0100358 "../../media:rtc_media_base",
phoglund667bd072016-09-16 05:05:39 -0700359 ]
360}
katrielc1d4fefb2016-07-06 08:02:00 -0700361
henrik.lundin58466f62016-10-05 02:27:42 -0700362webrtc_fuzzer_test("neteq_rtp_fuzzer") {
363 sources = [
364 "neteq_rtp_fuzzer.cc",
365 ]
366 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700367 "../../api:array_view",
Niels Möller3f651d82018-12-19 15:06:17 +0100368 "../../api/audio_codecs:builtin_audio_decoder_factory",
mbonadei3d7b0e22017-04-26 00:38:48 -0700369 "../../modules/audio_coding:neteq",
mbonadei3edccb92017-06-01 04:47:20 -0700370 "../../modules/audio_coding:neteq_test_tools",
henrik.lundinb637a942017-04-28 00:59:45 -0700371 "../../modules/audio_coding:neteq_tools_minimal",
henrik.lundin58466f62016-10-05 02:27:42 -0700372 "../../modules/audio_coding:pcm16b",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100373 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700374 "../../rtc_base:rtc_base_approved",
henrik.lundin58466f62016-10-05 02:27:42 -0700375 ]
376}
377
Henrik Lundinb82de302017-10-20 10:38:56 +0200378webrtc_fuzzer_test("neteq_signal_fuzzer") {
379 sources = [
380 "neteq_signal_fuzzer.cc",
381 ]
382 deps = [
383 "../../api:array_view",
Niels Möller3f651d82018-12-19 15:06:17 +0100384 "../../api/audio_codecs:builtin_audio_decoder_factory",
Henrik Lundinb82de302017-10-20 10:38:56 +0200385 "../../modules/audio_coding:neteq",
386 "../../modules/audio_coding:neteq_test_tools",
387 "../../modules/audio_coding:neteq_tools_minimal",
388 "../../modules/audio_coding:pcm16b",
Henrik Lundinb82de302017-10-20 10:38:56 +0200389 "../../rtc_base:rtc_base_approved",
Henrik Lundinb82de302017-10-20 10:38:56 +0200390 ]
391}
392
ivoc860249e2017-05-16 06:50:11 -0700393webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
394 sources = [
395 "residual_echo_detector_fuzzer.cc",
396 ]
397 deps = [
Artem Titov94b57c02019-03-21 13:35:10 +0100398 "../../modules/audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100399 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700400 "../../rtc_base:rtc_base_approved",
ivoc860249e2017-05-16 06:50:11 -0700401 ]
402}
403
phoglund667bd072016-09-16 05:05:39 -0700404webrtc_fuzzer_test("sdp_parser_fuzzer") {
405 sources = [
406 "sdp_parser_fuzzer.cc",
407 ]
408 deps = [
Mirko Bonadeie51f7852017-12-06 11:23:19 +0100409 "../../api:libjingle_peerconnection_api",
ossu7bb87ee2017-01-23 04:56:25 -0800410 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700411 ]
412 seed_corpus = "corpora/sdp-corpus"
413}
katrielc1d4fefb2016-07-06 08:02:00 -0700414
phoglund667bd072016-09-16 05:05:39 -0700415webrtc_fuzzer_test("stun_parser_fuzzer") {
416 sources = [
417 "stun_parser_fuzzer.cc",
418 ]
419 deps = [
Patrik Höglund56d94522019-11-18 15:53:32 +0100420 "../../api/transport:stun_types",
phoglund667bd072016-09-16 05:05:39 -0700421 "../../p2p:rtc_p2p",
422 ]
423 seed_corpus = "corpora/stun-corpus"
424 dict = "corpora/stun.tokens"
425}
katrielc1d4fefb2016-07-06 08:02:00 -0700426
phoglund667bd072016-09-16 05:05:39 -0700427webrtc_fuzzer_test("stun_validator_fuzzer") {
428 sources = [
429 "stun_validator_fuzzer.cc",
430 ]
431 deps = [
Patrik Höglund56d94522019-11-18 15:53:32 +0100432 "../../api/transport:stun_types",
phoglund667bd072016-09-16 05:05:39 -0700433 "../../p2p:rtc_p2p",
434 ]
435 seed_corpus = "corpora/stun-corpus"
436 dict = "corpora/stun.tokens"
437}
katrielc44905cf2016-07-07 05:52:24 -0700438
Qingsi Wang558b93b2018-08-30 10:38:44 -0700439webrtc_fuzzer_test("mdns_parser_fuzzer") {
440 sources = [
441 "mdns_parser_fuzzer.cc",
442 ]
443 deps = [
444 "../../p2p:rtc_p2p",
445 "../../rtc_base:rtc_base_approved",
Qingsi Wang558b93b2018-08-30 10:38:44 -0700446 ]
447 seed_corpus = "corpora/mdns-corpus"
448}
449
phoglund667bd072016-09-16 05:05:39 -0700450webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
451 sources = [
452 "pseudotcp_parser_fuzzer.cc",
453 ]
454 deps = [
455 "../../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 13:35:10 +0100456 "../../rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700457 ]
katrielc262ba772016-07-06 05:59:23 -0700458}
minyue435ddf92017-01-23 08:07:05 -0800459
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200460rtc_library("audio_processing_fuzzer_helper") {
aleloi8c512822017-06-20 05:26:55 -0700461 sources = [
Alex Loikoab20a602018-01-16 12:50:34 +0100462 "audio_processing_fuzzer_helper.cc",
463 "audio_processing_fuzzer_helper.h",
aleloi8c512822017-06-20 05:26:55 -0700464 ]
465 deps = [
Alex Loikoab20a602018-01-16 12:50:34 +0100466 ":fuzz_data_helper",
Fredrik Solenbergbbf21a32018-04-12 22:44:09 +0200467 "../../api/audio:audio_frame_api",
aleloi8c512822017-06-20 05:26:55 -0700468 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000469 "../../modules/audio_processing:api",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100470 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700471 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200472 "//third_party/abseil-cpp/absl/types:optional",
aleloi8c512822017-06-20 05:26:55 -0700473 ]
474}
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100475
Alex Loikoab20a602018-01-16 12:50:34 +0100476webrtc_fuzzer_test("audio_processing_fuzzer") {
477 sources = [
478 "audio_processing_configs_fuzzer.cc",
479 ]
480 deps = [
481 ":audio_processing_fuzzer_helper",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100482 "../../api:scoped_refptr",
Gustaf Ullberg0efa9412018-02-27 13:58:45 +0100483 "../../api/audio:aec3_factory",
Danil Chapovalov32b18342019-07-11 13:58:14 +0200484 "../../api/task_queue:default_task_queue_factory",
Alex Loikoab20a602018-01-16 12:50:34 +0100485 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000486 "../../modules/audio_processing:api",
Per Åhgren200feba2019-03-06 04:16:46 +0100487 "../../modules/audio_processing:audio_buffer",
Gustaf Ullbergf35c6662018-02-23 13:18:29 +0100488 "../../modules/audio_processing/aec3",
Alex Loiko4842c782018-10-23 13:43:28 +0200489 "../../modules/audio_processing/aec_dump",
490 "../../modules/audio_processing/aec_dump:aec_dump_impl",
Alex Loikoa05ee822018-02-20 15:58:36 +0100491 "../../rtc_base:rtc_base_approved",
Alex Loiko4842c782018-10-23 13:43:28 +0200492 "../../rtc_base:rtc_task_queue",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100493 "../../rtc_base:safe_minmax",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200494 "../../system_wrappers:field_trial",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200495 "//third_party/abseil-cpp/absl/memory",
Alex Loikoab20a602018-01-16 12:50:34 +0100496 ]
Alex Loiko38c15d32018-03-02 13:53:09 +0100497 seed_corpus = "corpora/audio_processing-corpus"
Alex Loikoab20a602018-01-16 12:50:34 +0100498}
499
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200500webrtc_fuzzer_test("agc_fuzzer") {
501 sources = [
502 "agc_fuzzer.cc",
503 ]
504 deps = [
505 ":fuzz_data_helper",
506 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000507 "../../modules/audio_processing:api",
Per Åhgren200feba2019-03-06 04:16:46 +0100508 "../../modules/audio_processing:audio_buffer",
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200509 "../../rtc_base:rtc_base_approved",
510 "../../rtc_base:safe_minmax",
511 ]
512
513 seed_corpus = "corpora/agc-corpus"
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200514}
515
Sam Zackrissondb8df172019-10-17 17:56:21 +0200516webrtc_fuzzer_test("aec3_config_json_fuzzer") {
517 sources = [
518 "aec3_config_json_fuzzer.cc",
519 ]
520 deps = [
521 ":fuzz_data_helper",
522 "../../api/audio:aec3_config",
523 "../../api/audio:aec3_config_json",
524 ]
525 dict = "//testing/libfuzzer/fuzzers/dicts/json.dict"
526 seed_corpus = "corpora/aec3-config-json-corpus"
527}
528
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100529webrtc_fuzzer_test("comfort_noise_decoder_fuzzer") {
530 sources = [
531 "comfort_noise_decoder_fuzzer.cc",
532 ]
533 deps = [
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100534 "../../api:array_view",
Karl Wiberg23659362018-11-01 11:13:44 +0100535 "../../modules/audio_coding:webrtc_cng",
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100536 "../../rtc_base:rtc_base_approved",
537 ]
538}
539
Danil Chapovalovccf12c62019-11-14 17:33:55 +0100540webrtc_fuzzer_test("rtp_depacketizer_av1_parse_fuzzer") {
541 sources = [
542 "rtp_depacketizer_av1_parse_fuzzer.cc",
543 ]
544 deps = [
545 "../../modules/rtp_rtcp",
546 ]
547}
548
Danil Chapovalovef83cc52019-09-20 12:24:56 +0200549webrtc_fuzzer_test("rtp_dependency_descriptor_fuzzer") {
550 sources = [
551 "rtp_dependency_descriptor_fuzzer.cc",
552 ]
553 seed_corpus = "corpora/dependency_descriptor-corpus"
554 deps = [
555 "../../api:array_view",
556 "../../common_video/generic_frame_descriptor",
557 "../../modules/rtp_rtcp:rtp_rtcp_format",
558 "../../rtc_base:checks",
559 ]
560}
561
philipelc1ee9d52018-05-16 14:06:13 +0200562webrtc_fuzzer_test("rtp_frame_reference_finder_fuzzer") {
563 sources = [
564 "rtp_frame_reference_finder_fuzzer.cc",
565 ]
566 deps = [
Chen Xingf00bf422019-06-20 10:05:55 +0200567 "../../api:rtp_packet_info",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100568 "../../api:scoped_refptr",
philipelc1ee9d52018-05-16 14:06:13 +0200569 "../../modules/video_coding/",
philipelc1ee9d52018-05-16 14:06:13 +0200570 "../../system_wrappers",
571 ]
philipelc1ee9d52018-05-16 14:06:13 +0200572}
philipel1e9cf7f2018-05-17 13:34:53 +0200573
574webrtc_fuzzer_test("frame_buffer2_fuzzer") {
575 sources = [
576 "frame_buffer2_fuzzer.cc",
577 ]
578 deps = [
579 "../../modules/video_coding/",
Artem Titov94b57c02019-03-21 13:35:10 +0100580 "../../system_wrappers",
philipel1e9cf7f2018-05-17 13:34:53 +0200581 ]
philipel1e9cf7f2018-05-17 13:34:53 +0200582}
Benjamin Wrightf6b10fb2018-12-11 16:35:04 -0800583
Benjamin Wrightade5cb82019-03-12 10:56:05 -0700584webrtc_fuzzer_test("field_trial_fuzzer") {
585 sources = [
586 "field_trial_fuzzer.cc",
587 ]
588 deps = [
589 "../../system_wrappers:field_trial",
590 ]
591 seed_corpus = "corpora/field_trial-corpus"
592}
Benjamin Wrightdfaea9d2019-03-12 14:03:33 -0700593
594webrtc_fuzzer_test("string_to_number_fuzzer") {
595 sources = [
596 "string_to_number_fuzzer.cc",
597 ]
598 deps = [
599 "../../rtc_base:rtc_base_approved",
600 ]
601 seed_corpus = "corpora/string_to_number-corpus"
602}
Benjamin Wrightd6c4b802019-03-12 17:00:25 -0700603
604webrtc_fuzzer_test("rtp_rtcp_demuxer_helper_fuzzer") {
605 sources = [
606 "rtp_rtcp_demuxer_helper_fuzzer.cc",
607 ]
608 deps = [
609 "../../api:array_view",
610 "../../call:rtp_receiver",
611 ]
612 seed_corpus = "corpora/rtcp-corpus"
613}
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700614
615webrtc_fuzzer_test("sctp_utils_fuzzer") {
616 sources = [
617 "sctp_utils_fuzzer.cc",
618 ]
619 deps = [
620 "../../api:libjingle_peerconnection_api",
621 "../../pc:libjingle_peerconnection",
Bjorn A Mellembc3eebc2019-09-23 14:53:54 -0700622 "../../pc:rtc_pc_base",
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700623 "../../rtc_base:rtc_base_approved",
624 ]
625}
626
Benjamin Wright1295b0d2019-03-13 15:01:22 -0700627webrtc_fuzzer_test("rtp_header_parser_fuzzer") {
628 sources = [
629 "rtp_header_parser_fuzzer.cc",
630 ]
631 deps = [
Tommi25eb47c2019-08-29 16:39:05 +0200632 "../:rtp_test_utils",
Benjamin Wright1295b0d2019-03-13 15:01:22 -0700633 ]
634}
Benjamin Wrightd5e1c372019-03-13 16:59:54 -0700635
636webrtc_fuzzer_test("ssl_certificate_fuzzer") {
637 sources = [
638 "rtp_header_parser_fuzzer.cc",
639 ]
640 deps = [
Tommi25eb47c2019-08-29 16:39:05 +0200641 "../:rtp_test_utils",
Benjamin Wrightd5e1c372019-03-13 16:59:54 -0700642 ]
643}
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700644
645webrtc_fuzzer_test("vp8_replay_fuzzer") {
646 sources = [
647 "vp8_replay_fuzzer.cc",
648 ]
649 deps = [
650 "../../rtc_base:rtc_base_approved",
651 "utils:rtp_replayer",
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700652 ]
653 seed_corpus = "corpora/rtpdump-corpus/vp8"
654}
655
656webrtc_fuzzer_test("vp9_replay_fuzzer") {
657 sources = [
658 "vp9_replay_fuzzer.cc",
659 ]
660 deps = [
661 "../../rtc_base:rtc_base_approved",
662 "utils:rtp_replayer",
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700663 ]
664 seed_corpus = "corpora/rtpdump-corpus/vp9"
665}