blob: deb4fcc050c57b8ee6a66b30ef25ecb15ea25a3e [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 = [
Peter Boström62e9bda2015-11-23 15:12:06 +010018 "//testing/libfuzzer:libfuzzer_main",
19 ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020020 if (build_with_chromium) {
Mirko Bonadei2148e9a2019-11-22 14:34:52 +010021 deps += [ "//third_party/webrtc_overrides:webrtc_component" ]
22 } else {
23 deps += [ "../../rtc_base:rtc_base_approved" ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020024 }
Peter Boström62e9bda2015-11-23 15:12:06 +010025}
26
Mirko Bonadei86d053c2019-10-17 21:32:04 +020027rtc_library("fuzz_data_helper") {
philipel0c87e292018-05-17 16:44:47 +020028 sources = [
29 "fuzz_data_helper.cc",
30 "fuzz_data_helper.h",
31 ]
32 deps = [
33 "../../api:array_view",
34 "../../modules/rtp_rtcp:rtp_rtcp_format",
35 ]
36 visibility = [ ":*" ] # Only targets in this file can depend on this.
37}
38
katrielc839315b2016-06-20 06:03:39 -070039template("webrtc_fuzzer_test") {
40 fuzzer_test(target_name) {
41 forward_variables_from(invoker, "*")
Niels Möller6e878502017-10-05 10:58:49 +020042 deps += [
philipel0c87e292018-05-17 16:44:47 +020043 ":fuzz_data_helper",
Niels Möller6e878502017-10-05 10:58:49 +020044 ":webrtc_fuzzer_main",
Niels Möller6e878502017-10-05 10:58:49 +020045 ]
kjellandere40a7ee2016-10-16 23:56:12 -070046 if (!build_with_chromium && is_clang) {
katrielc839315b2016-06-20 06:03:39 -070047 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
48 }
49 }
50}
51
Peter Boström1e0cfd92015-12-17 14:28:16 +010052webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
53 sources = [
54 "h264_depacketizer_fuzzer.cc",
55 ]
56 deps = [
57 "../../modules/rtp_rtcp",
58 ]
59}
60
Benjamin Wright6a5e9762019-03-12 11:29:12 -070061webrtc_fuzzer_test("generic_depacketizer_fuzzer") {
62 sources = [
63 "generic_depacketizer_fuzzer.cc",
64 ]
65 deps = [
66 "../../modules/rtp_rtcp",
67 ]
68}
69
Peter Boström1e0cfd92015-12-17 14:28:16 +010070webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
71 sources = [
72 "vp8_depacketizer_fuzzer.cc",
73 ]
74 deps = [
75 "../../modules/rtp_rtcp",
76 ]
77}
78
Peter Boström78315b92015-12-15 21:57:52 +010079webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Peter Boström62e9bda2015-11-23 15:12:06 +010080 sources = [
81 "vp9_depacketizer_fuzzer.cc",
82 ]
83 deps = [
Peter Boström62e9bda2015-11-23 15:12:06 +010084 "../../modules/rtp_rtcp",
85 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010086}
Peter Boström871c4192015-11-26 14:52:23 +010087
Peter Boström78315b92015-12-15 21:57:52 +010088webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Peter Boström871c4192015-11-26 14:52:23 +010089 sources = [
90 "vp8_qp_parser_fuzzer.cc",
91 ]
92 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070093 "../../modules/video_coding:video_coding_utility",
Peter Boström871c4192015-11-26 14:52:23 +010094 "../../modules/video_coding/",
95 ]
Peter Boström871c4192015-11-26 14:52:23 +010096}
Henrik Lundinfe32a762015-12-08 11:27:27 +010097
asapersson23ec19d2017-06-06 23:41:44 -070098webrtc_fuzzer_test("vp9_qp_parser_fuzzer") {
99 sources = [
100 "vp9_qp_parser_fuzzer.cc",
101 ]
102 deps = [
103 "../../modules/video_coding:video_coding_utility",
104 "../../modules/video_coding/",
105 ]
106}
107
pbosc6b4e542016-11-05 03:10:22 -0700108webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
109 sources = [
110 "h264_bitstream_parser_fuzzer.cc",
111 ]
112 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700113 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -0700114 "../../modules/video_coding/",
115 ]
116}
117
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100118webrtc_fuzzer_test("forward_error_correction_fuzzer") {
119 sources = [
120 "forward_error_correction_fuzzer.cc",
121 ]
122 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100123 "../../api:scoped_refptr",
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100124 "../../modules/rtp_rtcp",
125 "../../modules/rtp_rtcp:rtp_rtcp_format",
126 "../../rtc_base:rtc_base_approved",
127 ]
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100128}
129
brandtrcada34c2016-10-03 02:02:49 -0700130webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
131 sources = [
132 "flexfec_header_reader_fuzzer.cc",
133 ]
134 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100135 "../../api:scoped_refptr",
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 ]
brandtr554becd2016-11-06 22:45:15 -0800151}
152
brandtrcada34c2016-10-03 02:02:49 -0700153webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
154 sources = [
155 "ulpfec_header_reader_fuzzer.cc",
156 ]
157 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100158 "../../api:scoped_refptr",
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 = [
Danil Chapovalov04fd2152019-09-20 11:40:12 +0200185 ":fuzz_data_helper",
Mark Brand0c720502017-10-20 16:23:23 +0200186 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100187 "../../modules/rtp_rtcp:rtp_rtcp_format",
Mark Brand0c720502017-10-20 16:23:23 +0200188 "../../rtc_base:rtc_base_approved",
189 ]
Mark Brand0c720502017-10-20 16:23:23 +0200190}
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 ]
brandtre405d9b2016-10-18 01:18:04 -0700201}
202
philipelea142f82017-01-11 02:01:56 -0800203webrtc_fuzzer_test("packet_buffer_fuzzer") {
204 sources = [
205 "packet_buffer_fuzzer.cc",
206 ]
207 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700208 "../../modules/video_coding/",
mbonadei3edccb92017-06-01 04:47:20 -0700209 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800210 ]
philipelea142f82017-01-11 02:01:56 -0800211}
212
Peter Boströmba3e25e2016-02-23 11:35:30 +0100213webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
214 sources = [
215 "rtcp_receiver_fuzzer.cc",
216 ]
217 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700218 "../../modules/rtp_rtcp",
Jonathan Metzman9f80b972018-10-05 10:38:13 -0700219 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100220 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700221 "../../rtc_base:rtc_base_approved",
Artem Titov94b57c02019-03-21 13:35:10 +0100222 "../../system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100223 ]
katrielcbddc94b2016-06-22 06:43:22 -0700224 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100225}
226
danilchap1edb7ab2016-04-20 05:25:10 -0700227webrtc_fuzzer_test("rtp_packet_fuzzer") {
228 sources = [
229 "rtp_packet_fuzzer.cc",
230 ]
231 deps = [
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100232 "../../modules/rtp_rtcp:rtp_rtcp_format",
Johannes Kron54047be2019-02-21 14:09:20 +0000233 "//third_party/abseil-cpp/absl/types:optional",
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 = [
Niels Möller245f17e2017-08-21 10:45:07 +0200253 "../../modules/congestion_controller",
254 "../../modules/pacing",
Artem Titov94b57c02019-03-21 13:35:10 +0100255 "../../modules/remote_bitrate_estimator",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100256 "../../modules/rtp_rtcp:rtp_rtcp_format",
stefanbded44b2016-07-18 09:26:06 -0700257 ]
258}
259
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200260rtc_library("audio_decoder_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100261 sources = [
262 "audio_decoder_fuzzer.cc",
263 "audio_decoder_fuzzer.h",
264 ]
mbonadei3edccb92017-06-01 04:47:20 -0700265 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700266 "../../api/audio_codecs:audio_codecs_api",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100267 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100268 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700269 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200270 "//third_party/abseil-cpp/absl/types:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700271 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100272}
273
Peter Boström78315b92015-12-15 21:57:52 +0100274webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100275 sources = [
276 "audio_decoder_ilbc_fuzzer.cc",
277 ]
278 deps = [
279 ":audio_decoder_fuzzer",
280 "../../modules/audio_coding:ilbc",
281 ]
282}
283
Peter Boström78315b92015-12-15 21:57:52 +0100284webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100285 sources = [
286 "audio_decoder_isac_fuzzer.cc",
287 ]
288 deps = [
289 ":audio_decoder_fuzzer",
290 "../../modules/audio_coding:isac",
291 ]
292}
293
Peter Boström78315b92015-12-15 21:57:52 +0100294webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100295 sources = [
296 "audio_decoder_isacfix_fuzzer.cc",
297 ]
298 deps = [
299 ":audio_decoder_fuzzer",
300 "../../modules/audio_coding:isac_fix",
301 ]
302}
303
Peter Boström78315b92015-12-15 21:57:52 +0100304webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Henrik Lundinfe32a762015-12-08 11:27:27 +0100305 sources = [
306 "audio_decoder_opus_fuzzer.cc",
307 ]
308 deps = [
309 ":audio_decoder_fuzzer",
310 "../../modules/audio_coding:webrtc_opus",
311 ]
312}
henrik.lundinfd2be272016-02-09 00:00:23 -0800313
314webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
315 sources = [
316 "audio_decoder_opus_redundant_fuzzer.cc",
317 ]
318 deps = [
319 ":audio_decoder_fuzzer",
320 "../../modules/audio_coding:webrtc_opus",
321 ]
322}
katrielc262ba772016-07-06 05:59:23 -0700323
Alex Loikoe5b94162019-04-08 17:19:41 +0200324webrtc_fuzzer_test("audio_decoder_multiopus_fuzzer") {
325 sources = [
326 "audio_decoder_multistream_opus_fuzzer.cc",
327 ]
328 deps = [
329 ":audio_decoder_fuzzer",
330 "../../api/audio_codecs/opus:audio_decoder_multiopus",
Alex Loiko44c21f42019-04-25 15:09:32 +0200331 "../../api/audio_codecs/opus:audio_decoder_opus_config",
Alex Loikoe5b94162019-04-08 17:19:41 +0200332 ]
333}
334
Henrik Lundina29b1482018-05-09 14:56:08 +0200335webrtc_fuzzer_test("audio_encoder_opus_fuzzer") {
336 sources = [
337 "audio_encoder_opus_fuzzer.cc",
338 ]
339 deps = [
Henrik Lundina29b1482018-05-09 14:56:08 +0200340 "../../api:array_view",
341 "../../api/audio_codecs/opus:audio_encoder_opus",
342 "../../rtc_base:checks",
343 "../../rtc_base:rtc_base_approved",
344 ]
345}
346
phoglund667bd072016-09-16 05:05:39 -0700347webrtc_fuzzer_test("turn_unwrap_fuzzer") {
348 sources = [
349 "turn_unwrap_fuzzer.cc",
350 ]
351 deps = [
Artem Titov94b57c02019-03-21 13:35:10 +0100352 "../../media",
Mirko Bonadei75baa492018-01-11 17:07:30 +0100353 "../../media:rtc_media_base",
phoglund667bd072016-09-16 05:05:39 -0700354 ]
355}
katrielc1d4fefb2016-07-06 08:02:00 -0700356
henrik.lundin58466f62016-10-05 02:27:42 -0700357webrtc_fuzzer_test("neteq_rtp_fuzzer") {
358 sources = [
359 "neteq_rtp_fuzzer.cc",
360 ]
361 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700362 "../../api:array_view",
Niels Möller3f651d82018-12-19 15:06:17 +0100363 "../../api/audio_codecs:builtin_audio_decoder_factory",
mbonadei3d7b0e22017-04-26 00:38:48 -0700364 "../../modules/audio_coding:neteq",
mbonadei3edccb92017-06-01 04:47:20 -0700365 "../../modules/audio_coding:neteq_test_tools",
henrik.lundinb637a942017-04-28 00:59:45 -0700366 "../../modules/audio_coding:neteq_tools_minimal",
henrik.lundin58466f62016-10-05 02:27:42 -0700367 "../../modules/audio_coding:pcm16b",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100368 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700369 "../../rtc_base:rtc_base_approved",
henrik.lundin58466f62016-10-05 02:27:42 -0700370 ]
371}
372
Henrik Lundinb82de302017-10-20 10:38:56 +0200373webrtc_fuzzer_test("neteq_signal_fuzzer") {
374 sources = [
375 "neteq_signal_fuzzer.cc",
376 ]
377 deps = [
378 "../../api:array_view",
Niels Möller3f651d82018-12-19 15:06:17 +0100379 "../../api/audio_codecs:builtin_audio_decoder_factory",
Henrik Lundinb82de302017-10-20 10:38:56 +0200380 "../../modules/audio_coding:neteq",
381 "../../modules/audio_coding:neteq_test_tools",
382 "../../modules/audio_coding:neteq_tools_minimal",
383 "../../modules/audio_coding:pcm16b",
Henrik Lundinb82de302017-10-20 10:38:56 +0200384 "../../rtc_base:rtc_base_approved",
Henrik Lundinb82de302017-10-20 10:38:56 +0200385 ]
386}
387
ivoc860249e2017-05-16 06:50:11 -0700388webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
389 sources = [
390 "residual_echo_detector_fuzzer.cc",
391 ]
392 deps = [
Artem Titov94b57c02019-03-21 13:35:10 +0100393 "../../modules/audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100394 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700395 "../../rtc_base:rtc_base_approved",
ivoc860249e2017-05-16 06:50:11 -0700396 ]
397}
398
phoglund667bd072016-09-16 05:05:39 -0700399webrtc_fuzzer_test("sdp_parser_fuzzer") {
400 sources = [
401 "sdp_parser_fuzzer.cc",
402 ]
403 deps = [
Mirko Bonadeie51f7852017-12-06 11:23:19 +0100404 "../../api:libjingle_peerconnection_api",
ossu7bb87ee2017-01-23 04:56:25 -0800405 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700406 ]
407 seed_corpus = "corpora/sdp-corpus"
408}
katrielc1d4fefb2016-07-06 08:02:00 -0700409
phoglund667bd072016-09-16 05:05:39 -0700410webrtc_fuzzer_test("stun_parser_fuzzer") {
411 sources = [
412 "stun_parser_fuzzer.cc",
413 ]
414 deps = [
Patrik Höglund56d94522019-11-18 15:53:32 +0100415 "../../api/transport:stun_types",
phoglund667bd072016-09-16 05:05:39 -0700416 "../../p2p:rtc_p2p",
417 ]
418 seed_corpus = "corpora/stun-corpus"
419 dict = "corpora/stun.tokens"
420}
katrielc1d4fefb2016-07-06 08:02:00 -0700421
phoglund667bd072016-09-16 05:05:39 -0700422webrtc_fuzzer_test("stun_validator_fuzzer") {
423 sources = [
424 "stun_validator_fuzzer.cc",
425 ]
426 deps = [
Patrik Höglund56d94522019-11-18 15:53:32 +0100427 "../../api/transport:stun_types",
phoglund667bd072016-09-16 05:05:39 -0700428 "../../p2p:rtc_p2p",
429 ]
430 seed_corpus = "corpora/stun-corpus"
431 dict = "corpora/stun.tokens"
432}
katrielc44905cf2016-07-07 05:52:24 -0700433
Qingsi Wang558b93b2018-08-30 10:38:44 -0700434webrtc_fuzzer_test("mdns_parser_fuzzer") {
435 sources = [
436 "mdns_parser_fuzzer.cc",
437 ]
438 deps = [
439 "../../p2p:rtc_p2p",
440 "../../rtc_base:rtc_base_approved",
Qingsi Wang558b93b2018-08-30 10:38:44 -0700441 ]
442 seed_corpus = "corpora/mdns-corpus"
443}
444
phoglund667bd072016-09-16 05:05:39 -0700445webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
446 sources = [
447 "pseudotcp_parser_fuzzer.cc",
448 ]
449 deps = [
450 "../../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 13:35:10 +0100451 "../../rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700452 ]
katrielc262ba772016-07-06 05:59:23 -0700453}
minyue435ddf92017-01-23 08:07:05 -0800454
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200455rtc_library("audio_processing_fuzzer_helper") {
aleloi8c512822017-06-20 05:26:55 -0700456 sources = [
Alex Loikoab20a602018-01-16 12:50:34 +0100457 "audio_processing_fuzzer_helper.cc",
458 "audio_processing_fuzzer_helper.h",
aleloi8c512822017-06-20 05:26:55 -0700459 ]
460 deps = [
Alex Loikoab20a602018-01-16 12:50:34 +0100461 ":fuzz_data_helper",
Fredrik Solenbergbbf21a32018-04-12 22:44:09 +0200462 "../../api/audio:audio_frame_api",
aleloi8c512822017-06-20 05:26:55 -0700463 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000464 "../../modules/audio_processing:api",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100465 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700466 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200467 "//third_party/abseil-cpp/absl/types:optional",
aleloi8c512822017-06-20 05:26:55 -0700468 ]
469}
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100470
Alex Loikoab20a602018-01-16 12:50:34 +0100471webrtc_fuzzer_test("audio_processing_fuzzer") {
472 sources = [
473 "audio_processing_configs_fuzzer.cc",
474 ]
475 deps = [
476 ":audio_processing_fuzzer_helper",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100477 "../../api:scoped_refptr",
Gustaf Ullberg0efa9412018-02-27 13:58:45 +0100478 "../../api/audio:aec3_factory",
Danil Chapovalov32b18342019-07-11 13:58:14 +0200479 "../../api/task_queue:default_task_queue_factory",
Alex Loikoab20a602018-01-16 12:50:34 +0100480 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000481 "../../modules/audio_processing:api",
Per Åhgren200feba2019-03-06 04:16:46 +0100482 "../../modules/audio_processing:audio_buffer",
Gustaf Ullbergf35c6662018-02-23 13:18:29 +0100483 "../../modules/audio_processing/aec3",
Alex Loiko4842c782018-10-23 13:43:28 +0200484 "../../modules/audio_processing/aec_dump",
485 "../../modules/audio_processing/aec_dump:aec_dump_impl",
Alex Loikoa05ee822018-02-20 15:58:36 +0100486 "../../rtc_base:rtc_base_approved",
Alex Loiko4842c782018-10-23 13:43:28 +0200487 "../../rtc_base:rtc_task_queue",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100488 "../../rtc_base:safe_minmax",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200489 "../../system_wrappers:field_trial",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200490 "//third_party/abseil-cpp/absl/memory",
Alex Loikoab20a602018-01-16 12:50:34 +0100491 ]
Alex Loiko38c15d32018-03-02 13:53:09 +0100492 seed_corpus = "corpora/audio_processing-corpus"
Alex Loikoab20a602018-01-16 12:50:34 +0100493}
494
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200495webrtc_fuzzer_test("agc_fuzzer") {
496 sources = [
497 "agc_fuzzer.cc",
498 ]
499 deps = [
500 ":fuzz_data_helper",
501 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000502 "../../modules/audio_processing:api",
Per Åhgren200feba2019-03-06 04:16:46 +0100503 "../../modules/audio_processing:audio_buffer",
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200504 "../../rtc_base:rtc_base_approved",
505 "../../rtc_base:safe_minmax",
506 ]
507
508 seed_corpus = "corpora/agc-corpus"
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200509}
510
Sam Zackrissondb8df172019-10-17 17:56:21 +0200511webrtc_fuzzer_test("aec3_config_json_fuzzer") {
512 sources = [
513 "aec3_config_json_fuzzer.cc",
514 ]
515 deps = [
516 ":fuzz_data_helper",
517 "../../api/audio:aec3_config",
518 "../../api/audio:aec3_config_json",
519 ]
520 dict = "//testing/libfuzzer/fuzzers/dicts/json.dict"
521 seed_corpus = "corpora/aec3-config-json-corpus"
522}
523
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100524webrtc_fuzzer_test("comfort_noise_decoder_fuzzer") {
525 sources = [
526 "comfort_noise_decoder_fuzzer.cc",
527 ]
528 deps = [
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100529 "../../api:array_view",
Karl Wiberg23659362018-11-01 11:13:44 +0100530 "../../modules/audio_coding:webrtc_cng",
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100531 "../../rtc_base:rtc_base_approved",
532 ]
533}
534
Danil Chapovalovccf12c62019-11-14 17:33:55 +0100535webrtc_fuzzer_test("rtp_depacketizer_av1_parse_fuzzer") {
536 sources = [
537 "rtp_depacketizer_av1_parse_fuzzer.cc",
538 ]
539 deps = [
540 "../../modules/rtp_rtcp",
541 ]
542}
543
Danil Chapovalovef83cc52019-09-20 12:24:56 +0200544webrtc_fuzzer_test("rtp_dependency_descriptor_fuzzer") {
545 sources = [
546 "rtp_dependency_descriptor_fuzzer.cc",
547 ]
548 seed_corpus = "corpora/dependency_descriptor-corpus"
549 deps = [
550 "../../api:array_view",
551 "../../common_video/generic_frame_descriptor",
552 "../../modules/rtp_rtcp:rtp_rtcp_format",
553 "../../rtc_base:checks",
554 ]
555}
556
philipelc1ee9d52018-05-16 14:06:13 +0200557webrtc_fuzzer_test("rtp_frame_reference_finder_fuzzer") {
558 sources = [
559 "rtp_frame_reference_finder_fuzzer.cc",
560 ]
561 deps = [
Chen Xingf00bf422019-06-20 10:05:55 +0200562 "../../api:rtp_packet_info",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100563 "../../api:scoped_refptr",
philipelc1ee9d52018-05-16 14:06:13 +0200564 "../../modules/video_coding/",
philipelc1ee9d52018-05-16 14:06:13 +0200565 "../../system_wrappers",
566 ]
philipelc1ee9d52018-05-16 14:06:13 +0200567}
philipel1e9cf7f2018-05-17 13:34:53 +0200568
569webrtc_fuzzer_test("frame_buffer2_fuzzer") {
570 sources = [
571 "frame_buffer2_fuzzer.cc",
572 ]
573 deps = [
574 "../../modules/video_coding/",
Artem Titov94b57c02019-03-21 13:35:10 +0100575 "../../system_wrappers",
philipel1e9cf7f2018-05-17 13:34:53 +0200576 ]
philipel1e9cf7f2018-05-17 13:34:53 +0200577}
Benjamin Wrightf6b10fb2018-12-11 16:35:04 -0800578
Benjamin Wrightade5cb82019-03-12 10:56:05 -0700579webrtc_fuzzer_test("field_trial_fuzzer") {
580 sources = [
581 "field_trial_fuzzer.cc",
582 ]
583 deps = [
584 "../../system_wrappers:field_trial",
585 ]
586 seed_corpus = "corpora/field_trial-corpus"
587}
Benjamin Wrightdfaea9d2019-03-12 14:03:33 -0700588
589webrtc_fuzzer_test("string_to_number_fuzzer") {
590 sources = [
591 "string_to_number_fuzzer.cc",
592 ]
593 deps = [
594 "../../rtc_base:rtc_base_approved",
595 ]
596 seed_corpus = "corpora/string_to_number-corpus"
597}
Benjamin Wrightd6c4b802019-03-12 17:00:25 -0700598
599webrtc_fuzzer_test("rtp_rtcp_demuxer_helper_fuzzer") {
600 sources = [
601 "rtp_rtcp_demuxer_helper_fuzzer.cc",
602 ]
603 deps = [
604 "../../api:array_view",
605 "../../call:rtp_receiver",
606 ]
607 seed_corpus = "corpora/rtcp-corpus"
608}
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700609
610webrtc_fuzzer_test("sctp_utils_fuzzer") {
611 sources = [
612 "sctp_utils_fuzzer.cc",
613 ]
614 deps = [
615 "../../api:libjingle_peerconnection_api",
616 "../../pc:libjingle_peerconnection",
Bjorn A Mellembc3eebc2019-09-23 14:53:54 -0700617 "../../pc:rtc_pc_base",
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700618 "../../rtc_base:rtc_base_approved",
619 ]
620}
621
Benjamin Wright1295b0d2019-03-13 15:01:22 -0700622webrtc_fuzzer_test("rtp_header_parser_fuzzer") {
623 sources = [
624 "rtp_header_parser_fuzzer.cc",
625 ]
626 deps = [
Tommi25eb47c2019-08-29 16:39:05 +0200627 "../:rtp_test_utils",
Benjamin Wright1295b0d2019-03-13 15:01:22 -0700628 ]
629}
Benjamin Wrightd5e1c372019-03-13 16:59:54 -0700630
631webrtc_fuzzer_test("ssl_certificate_fuzzer") {
632 sources = [
633 "rtp_header_parser_fuzzer.cc",
634 ]
635 deps = [
Tommi25eb47c2019-08-29 16:39:05 +0200636 "../:rtp_test_utils",
Benjamin Wrightd5e1c372019-03-13 16:59:54 -0700637 ]
638}
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700639
640webrtc_fuzzer_test("vp8_replay_fuzzer") {
641 sources = [
642 "vp8_replay_fuzzer.cc",
643 ]
644 deps = [
645 "../../rtc_base:rtc_base_approved",
646 "utils:rtp_replayer",
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700647 ]
648 seed_corpus = "corpora/rtpdump-corpus/vp8"
649}
650
651webrtc_fuzzer_test("vp9_replay_fuzzer") {
652 sources = [
653 "vp9_replay_fuzzer.cc",
654 ]
655 deps = [
656 "../../rtc_base:rtc_base_approved",
657 "utils:rtp_replayer",
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700658 ]
659 seed_corpus = "corpora/rtpdump-corpus/vp9"
660}