blob: 4caac345cca4c691ae484e9ebeb51d8ef1410948 [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") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010014 sources = [ "webrtc_fuzzer_main.cc" ]
Peter Boström62e9bda2015-11-23 15:12:06 +010015 deps = [
Mirko Bonadei51868f52019-11-23 15:10:32 +000016 "../../rtc_base:rtc_base_approved",
Peter Boström62e9bda2015-11-23 15:12:06 +010017 "//testing/libfuzzer:libfuzzer_main",
18 ]
Mirko Bonadei51868f52019-11-23 15:10:32 +000019
20 # When WebRTC fuzzer tests are built on Chromium bots they need to link
21 # with Chromium's implementation of metrics and field trial.
Mirko Bonadei15212f32018-09-18 23:41:33 +020022 if (build_with_chromium) {
Mirko Bonadei51868f52019-11-23 15:10:32 +000023 deps += [
24 "../../../webrtc_overrides:field_trial",
25 "../../../webrtc_overrides:metrics",
26 ]
Mirko Bonadei15212f32018-09-18 23:41:33 +020027 }
Peter Boström62e9bda2015-11-23 15:12:06 +010028}
29
Mirko Bonadei86d053c2019-10-17 21:32:04 +020030rtc_library("fuzz_data_helper") {
Alessio Bazzica02b76bd2020-02-27 16:32:56 +010031 testonly = true
philipel0c87e292018-05-17 16:44:47 +020032 sources = [
33 "fuzz_data_helper.cc",
34 "fuzz_data_helper.h",
35 ]
36 deps = [
37 "../../api:array_view",
38 "../../modules/rtp_rtcp:rtp_rtcp_format",
39 ]
40 visibility = [ ":*" ] # Only targets in this file can depend on this.
41}
42
katrielc839315b2016-06-20 06:03:39 -070043template("webrtc_fuzzer_test") {
44 fuzzer_test(target_name) {
45 forward_variables_from(invoker, "*")
Niels Möller6e878502017-10-05 10:58:49 +020046 deps += [
philipel0c87e292018-05-17 16:44:47 +020047 ":fuzz_data_helper",
Niels Möller6e878502017-10-05 10:58:49 +020048 ":webrtc_fuzzer_main",
Niels Möller6e878502017-10-05 10:58:49 +020049 ]
kjellandere40a7ee2016-10-16 23:56:12 -070050 if (!build_with_chromium && is_clang) {
katrielc839315b2016-06-20 06:03:39 -070051 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ]
52 }
53 }
54}
55
Peter Boström1e0cfd92015-12-17 14:28:16 +010056webrtc_fuzzer_test("h264_depacketizer_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010057 sources = [ "h264_depacketizer_fuzzer.cc" ]
58 deps = [ "../../modules/rtp_rtcp" ]
Peter Boström1e0cfd92015-12-17 14:28:16 +010059}
60
61webrtc_fuzzer_test("vp8_depacketizer_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010062 sources = [ "vp8_depacketizer_fuzzer.cc" ]
Peter Boström1e0cfd92015-12-17 14:28:16 +010063 deps = [
Danil Chapovalov26e1b7a2020-01-08 13:36:38 +010064 "../../api:array_view",
Peter Boström1e0cfd92015-12-17 14:28:16 +010065 "../../modules/rtp_rtcp",
Danil Chapovalov26e1b7a2020-01-08 13:36:38 +010066 "../../modules/rtp_rtcp:rtp_video_header",
Peter Boström1e0cfd92015-12-17 14:28:16 +010067 ]
68}
69
Peter Boström78315b92015-12-15 21:57:52 +010070webrtc_fuzzer_test("vp9_depacketizer_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010071 sources = [ "vp9_depacketizer_fuzzer.cc" ]
Peter Boström62e9bda2015-11-23 15:12:06 +010072 deps = [
Danil Chapovalov5c35f2f2020-01-09 12:26:18 +010073 "../../api:array_view",
Peter Boström62e9bda2015-11-23 15:12:06 +010074 "../../modules/rtp_rtcp",
Danil Chapovalov5c35f2f2020-01-09 12:26:18 +010075 "../../modules/rtp_rtcp:rtp_video_header",
Peter Boström62e9bda2015-11-23 15:12:06 +010076 ]
Peter Boström62e9bda2015-11-23 15:12:06 +010077}
Peter Boström871c4192015-11-26 14:52:23 +010078
Peter Boström78315b92015-12-15 21:57:52 +010079webrtc_fuzzer_test("vp8_qp_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010080 sources = [ "vp8_qp_parser_fuzzer.cc" ]
Peter Boström871c4192015-11-26 14:52:23 +010081 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070082 "../../modules/video_coding:video_coding_utility",
Peter Boström871c4192015-11-26 14:52:23 +010083 "../../modules/video_coding/",
84 ]
Peter Boström871c4192015-11-26 14:52:23 +010085}
Henrik Lundinfe32a762015-12-08 11:27:27 +010086
asapersson23ec19d2017-06-06 23:41:44 -070087webrtc_fuzzer_test("vp9_qp_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010088 sources = [ "vp9_qp_parser_fuzzer.cc" ]
asapersson23ec19d2017-06-06 23:41:44 -070089 deps = [
90 "../../modules/video_coding:video_coding_utility",
91 "../../modules/video_coding/",
92 ]
93}
94
pbosc6b4e542016-11-05 03:10:22 -070095webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010096 sources = [ "h264_bitstream_parser_fuzzer.cc" ]
pbosc6b4e542016-11-05 03:10:22 -070097 deps = [
mbonadei3edccb92017-06-01 04:47:20 -070098 "../../common_video",
pbosc6b4e542016-11-05 03:10:22 -070099 "../../modules/video_coding/",
100 ]
101}
102
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100103webrtc_fuzzer_test("forward_error_correction_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100104 sources = [ "forward_error_correction_fuzzer.cc" ]
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100105 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100106 "../../api:scoped_refptr",
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100107 "../../modules/rtp_rtcp",
108 "../../modules/rtp_rtcp:rtp_rtcp_format",
109 "../../rtc_base:rtc_base_approved",
110 ]
Rasmus Brandt49ccbdb2017-12-13 14:04:24 +0100111}
112
brandtrcada34c2016-10-03 02:02:49 -0700113webrtc_fuzzer_test("flexfec_header_reader_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100114 sources = [ "flexfec_header_reader_fuzzer.cc" ]
brandtrcada34c2016-10-03 02:02:49 -0700115 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100116 "../../api:scoped_refptr",
kjellandere0629c02017-04-25 04:04:50 -0700117 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100118 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700119 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700120 ]
121}
122
brandtr554becd2016-11-06 22:45:15 -0800123webrtc_fuzzer_test("flexfec_sender_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100124 sources = [ "flexfec_sender_fuzzer.cc" ]
brandtr554becd2016-11-06 22:45:15 -0800125 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700126 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100127 "../../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei3edccb92017-06-01 04:47:20 -0700128 "../../system_wrappers",
brandtr554becd2016-11-06 22:45:15 -0800129 ]
brandtr554becd2016-11-06 22:45:15 -0800130}
131
brandtrcada34c2016-10-03 02:02:49 -0700132webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100133 sources = [ "ulpfec_header_reader_fuzzer.cc" ]
brandtrcada34c2016-10-03 02:02:49 -0700134 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +0100135 "../../api:scoped_refptr",
kjellandere0629c02017-04-25 04:04:50 -0700136 "../../modules/rtp_rtcp",
137 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100138 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700139 "../../rtc_base:rtc_base_approved",
brandtrcada34c2016-10-03 02:02:49 -0700140 ]
141}
142
brandtr869e7cd2016-10-31 05:27:07 -0700143webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100144 sources = [ "ulpfec_generator_fuzzer.cc" ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100145 deps = [
Ying Wang6b33e602018-07-02 17:28:07 +0200146 "../../modules:module_api_public",
kjellandere0629c02017-04-25 04:04:50 -0700147 "../../modules/rtp_rtcp",
148 "../../modules/rtp_rtcp:fec_test_helper",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100149 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100150 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700151 "../../rtc_base:rtc_base_approved",
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100152 ]
Stefan Holmer4c1093b2015-12-11 18:25:45 +0100153}
154
Mark Brand0c720502017-10-20 16:23:23 +0200155webrtc_fuzzer_test("ulpfec_receiver_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100156 sources = [ "ulpfec_receiver_fuzzer.cc" ]
Mark Brand0c720502017-10-20 16:23:23 +0200157 deps = [
Danil Chapovalov04fd2152019-09-20 11:40:12 +0200158 ":fuzz_data_helper",
Mark Brand0c720502017-10-20 16:23:23 +0200159 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100160 "../../modules/rtp_rtcp:rtp_rtcp_format",
Mark Brand0c720502017-10-20 16:23:23 +0200161 "../../rtc_base:rtc_base_approved",
162 ]
Mark Brand0c720502017-10-20 16:23:23 +0200163}
164
brandtre405d9b2016-10-18 01:18:04 -0700165webrtc_fuzzer_test("flexfec_receiver_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100166 sources = [ "flexfec_receiver_fuzzer.cc" ]
brandtre405d9b2016-10-18 01:18:04 -0700167 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700168 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100169 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700170 "../../rtc_base:rtc_base_approved",
brandtre405d9b2016-10-18 01:18:04 -0700171 ]
brandtre405d9b2016-10-18 01:18:04 -0700172}
173
philipelea142f82017-01-11 02:01:56 -0800174webrtc_fuzzer_test("packet_buffer_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100175 sources = [ "packet_buffer_fuzzer.cc" ]
philipelea142f82017-01-11 02:01:56 -0800176 deps = [
mbonadeib80ef8c2017-04-24 13:05:47 -0700177 "../../modules/video_coding/",
mbonadei3edccb92017-06-01 04:47:20 -0700178 "../../system_wrappers",
philipelea142f82017-01-11 02:01:56 -0800179 ]
philipelea142f82017-01-11 02:01:56 -0800180}
181
Peter Boströmba3e25e2016-02-23 11:35:30 +0100182webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100183 sources = [ "rtcp_receiver_fuzzer.cc" ]
Peter Boströmba3e25e2016-02-23 11:35:30 +0100184 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700185 "../../modules/rtp_rtcp",
Jonathan Metzman9f80b972018-10-05 10:38:13 -0700186 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100187 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700188 "../../rtc_base:rtc_base_approved",
Artem Titov94b57c02019-03-21 13:35:10 +0100189 "../../system_wrappers",
Peter Boströmba3e25e2016-02-23 11:35:30 +0100190 ]
katrielcbddc94b2016-06-22 06:43:22 -0700191 seed_corpus = "corpora/rtcp-corpus"
Peter Boströmba3e25e2016-02-23 11:35:30 +0100192}
193
danilchap1edb7ab2016-04-20 05:25:10 -0700194webrtc_fuzzer_test("rtp_packet_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100195 sources = [ "rtp_packet_fuzzer.cc" ]
danilchap1edb7ab2016-04-20 05:25:10 -0700196 deps = [
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100197 "../../modules/rtp_rtcp:rtp_rtcp_format",
Johannes Kron54047be2019-02-21 14:09:20 +0000198 "//third_party/abseil-cpp/absl/types:optional",
danilchap1edb7ab2016-04-20 05:25:10 -0700199 ]
katrielcbddc94b2016-06-22 06:43:22 -0700200 seed_corpus = "corpora/rtp-corpus"
danilchap1edb7ab2016-04-20 05:25:10 -0700201}
202
Danil Chapovalov242a9e02019-11-29 10:08:33 +0100203webrtc_fuzzer_test("rtp_packetizer_av1_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100204 sources = [ "rtp_packetizer_av1_fuzzer.cc" ]
Danil Chapovalov242a9e02019-11-29 10:08:33 +0100205 deps = [
206 "../../api/video:video_frame_type",
207 "../../modules/rtp_rtcp:rtp_rtcp",
208 "../../modules/rtp_rtcp:rtp_rtcp_format",
209 "../../rtc_base:checks",
210 ]
211}
212
katrielcd4bcdad2016-06-23 03:50:39 -0700213webrtc_fuzzer_test("rtp_header_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100214 sources = [ "rtp_header_fuzzer.cc" ]
katrielcd4bcdad2016-06-23 03:50:39 -0700215 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700216 "../../modules/rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100217 "../../modules/rtp_rtcp:rtp_rtcp_format",
katrielcd4bcdad2016-06-23 03:50:39 -0700218 ]
219}
220
stefanbded44b2016-07-18 09:26:06 -0700221webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100222 sources = [ "congestion_controller_feedback_fuzzer.cc" ]
stefanbded44b2016-07-18 09:26:06 -0700223 deps = [
Niels Möller245f17e2017-08-21 10:45:07 +0200224 "../../modules/congestion_controller",
225 "../../modules/pacing",
Artem Titov94b57c02019-03-21 13:35:10 +0100226 "../../modules/remote_bitrate_estimator",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100227 "../../modules/rtp_rtcp:rtp_rtcp_format",
stefanbded44b2016-07-18 09:26:06 -0700228 ]
229}
230
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200231rtc_library("audio_decoder_fuzzer") {
Alessio Bazzica02b76bd2020-02-27 16:32:56 +0100232 testonly = true
Henrik Lundinfe32a762015-12-08 11:27:27 +0100233 sources = [
234 "audio_decoder_fuzzer.cc",
235 "audio_decoder_fuzzer.h",
236 ]
mbonadei3edccb92017-06-01 04:47:20 -0700237 deps = [
mbonadei3edccb92017-06-01 04:47:20 -0700238 "../../api/audio_codecs:audio_codecs_api",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100239 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100240 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700241 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200242 "//third_party/abseil-cpp/absl/types:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700243 ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100244}
245
Peter Boström78315b92015-12-15 21:57:52 +0100246webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100247 sources = [ "audio_decoder_ilbc_fuzzer.cc" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100248 deps = [
249 ":audio_decoder_fuzzer",
250 "../../modules/audio_coding:ilbc",
251 ]
252}
253
Peter Boström78315b92015-12-15 21:57:52 +0100254webrtc_fuzzer_test("audio_decoder_isac_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100255 sources = [ "audio_decoder_isac_fuzzer.cc" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100256 deps = [
257 ":audio_decoder_fuzzer",
258 "../../modules/audio_coding:isac",
259 ]
260}
261
Peter Boström78315b92015-12-15 21:57:52 +0100262webrtc_fuzzer_test("audio_decoder_isacfix_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100263 sources = [ "audio_decoder_isacfix_fuzzer.cc" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100264 deps = [
265 ":audio_decoder_fuzzer",
266 "../../modules/audio_coding:isac_fix",
267 ]
268}
269
Peter Boström78315b92015-12-15 21:57:52 +0100270webrtc_fuzzer_test("audio_decoder_opus_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100271 sources = [ "audio_decoder_opus_fuzzer.cc" ]
Henrik Lundinfe32a762015-12-08 11:27:27 +0100272 deps = [
273 ":audio_decoder_fuzzer",
274 "../../modules/audio_coding:webrtc_opus",
275 ]
276}
henrik.lundinfd2be272016-02-09 00:00:23 -0800277
278webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100279 sources = [ "audio_decoder_opus_redundant_fuzzer.cc" ]
henrik.lundinfd2be272016-02-09 00:00:23 -0800280 deps = [
281 ":audio_decoder_fuzzer",
282 "../../modules/audio_coding:webrtc_opus",
283 ]
284}
katrielc262ba772016-07-06 05:59:23 -0700285
Alex Loikoe5b94162019-04-08 17:19:41 +0200286webrtc_fuzzer_test("audio_decoder_multiopus_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100287 sources = [ "audio_decoder_multistream_opus_fuzzer.cc" ]
Alex Loikoe5b94162019-04-08 17:19:41 +0200288 deps = [
289 ":audio_decoder_fuzzer",
290 "../../api/audio_codecs/opus:audio_decoder_multiopus",
Alex Loiko44c21f42019-04-25 15:09:32 +0200291 "../../api/audio_codecs/opus:audio_decoder_opus_config",
Alex Loikoe5b94162019-04-08 17:19:41 +0200292 ]
293}
294
Alessio Bazzica02b76bd2020-02-27 16:32:56 +0100295rtc_library("audio_encoder_fuzzer") {
296 testonly = true
297 sources = [
298 "audio_encoder_fuzzer.cc",
299 "audio_encoder_fuzzer.h",
300 ]
301 deps = [
302 ":fuzz_data_helper",
303 "../../api:array_view",
304 "../../api/audio_codecs:audio_codecs_api",
305 "../../rtc_base:checks",
306 "../../rtc_base:rtc_base_approved",
307 ]
308}
309
Henrik Lundina29b1482018-05-09 14:56:08 +0200310webrtc_fuzzer_test("audio_encoder_opus_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100311 sources = [ "audio_encoder_opus_fuzzer.cc" ]
Henrik Lundina29b1482018-05-09 14:56:08 +0200312 deps = [
Alessio Bazzica02b76bd2020-02-27 16:32:56 +0100313 ":audio_encoder_fuzzer",
Henrik Lundina29b1482018-05-09 14:56:08 +0200314 "../../api/audio_codecs/opus:audio_encoder_opus",
315 "../../rtc_base:checks",
Henrik Lundina29b1482018-05-09 14:56:08 +0200316 ]
317}
318
Alessio Bazzica729310a2020-02-27 16:33:29 +0100319webrtc_fuzzer_test("audio_encoder_isac_fixed_fuzzer") {
320 sources = [ "audio_encoder_isax_fixed_fuzzer.cc" ]
321 deps = [
322 ":audio_encoder_fuzzer",
323 "../../api/audio_codecs/isac:audio_encoder_isac_fix",
324 "../../rtc_base:checks",
325 ]
326}
327
328webrtc_fuzzer_test("audio_encoder_isac_float_fuzzer") {
329 sources = [ "audio_encoder_isax_float_fuzzer.cc" ]
330 deps = [
331 ":audio_encoder_fuzzer",
332 "../../api/audio_codecs/isac:audio_encoder_isac_float",
333 "../../rtc_base:checks",
334 ]
335}
336
phoglund667bd072016-09-16 05:05:39 -0700337webrtc_fuzzer_test("turn_unwrap_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100338 sources = [ "turn_unwrap_fuzzer.cc" ]
phoglund667bd072016-09-16 05:05:39 -0700339 deps = [
Artem Titov94b57c02019-03-21 13:35:10 +0100340 "../../media",
Mirko Bonadei75baa492018-01-11 17:07:30 +0100341 "../../media:rtc_media_base",
phoglund667bd072016-09-16 05:05:39 -0700342 ]
343}
katrielc1d4fefb2016-07-06 08:02:00 -0700344
henrik.lundin58466f62016-10-05 02:27:42 -0700345webrtc_fuzzer_test("neteq_rtp_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100346 sources = [ "neteq_rtp_fuzzer.cc" ]
henrik.lundin58466f62016-10-05 02:27:42 -0700347 deps = [
kwiberg529662a2017-09-04 05:43:17 -0700348 "../../api:array_view",
Niels Möller3f651d82018-12-19 15:06:17 +0100349 "../../api/audio_codecs:builtin_audio_decoder_factory",
mbonadei3d7b0e22017-04-26 00:38:48 -0700350 "../../modules/audio_coding:neteq",
mbonadei3edccb92017-06-01 04:47:20 -0700351 "../../modules/audio_coding:neteq_test_tools",
henrik.lundinb637a942017-04-28 00:59:45 -0700352 "../../modules/audio_coding:neteq_tools_minimal",
henrik.lundin58466f62016-10-05 02:27:42 -0700353 "../../modules/audio_coding:pcm16b",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100354 "../../modules/rtp_rtcp:rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700355 "../../rtc_base:rtc_base_approved",
henrik.lundin58466f62016-10-05 02:27:42 -0700356 ]
357}
358
Henrik Lundinb82de302017-10-20 10:38:56 +0200359webrtc_fuzzer_test("neteq_signal_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100360 sources = [ "neteq_signal_fuzzer.cc" ]
Henrik Lundinb82de302017-10-20 10:38:56 +0200361 deps = [
362 "../../api:array_view",
Niels Möller3f651d82018-12-19 15:06:17 +0100363 "../../api/audio_codecs:builtin_audio_decoder_factory",
Henrik Lundinb82de302017-10-20 10:38:56 +0200364 "../../modules/audio_coding:neteq",
365 "../../modules/audio_coding:neteq_test_tools",
366 "../../modules/audio_coding:neteq_tools_minimal",
367 "../../modules/audio_coding:pcm16b",
Henrik Lundinb82de302017-10-20 10:38:56 +0200368 "../../rtc_base:rtc_base_approved",
Henrik Lundinb82de302017-10-20 10:38:56 +0200369 ]
370}
371
ivoc860249e2017-05-16 06:50:11 -0700372webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100373 sources = [ "residual_echo_detector_fuzzer.cc" ]
ivoc860249e2017-05-16 06:50:11 -0700374 deps = [
Artem Titov94b57c02019-03-21 13:35:10 +0100375 "../../modules/audio_processing",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100376 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700377 "../../rtc_base:rtc_base_approved",
ivoc860249e2017-05-16 06:50:11 -0700378 ]
379}
380
phoglund667bd072016-09-16 05:05:39 -0700381webrtc_fuzzer_test("sdp_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100382 sources = [ "sdp_parser_fuzzer.cc" ]
phoglund667bd072016-09-16 05:05:39 -0700383 deps = [
Mirko Bonadeie51f7852017-12-06 11:23:19 +0100384 "../../api:libjingle_peerconnection_api",
ossu7bb87ee2017-01-23 04:56:25 -0800385 "../../pc:libjingle_peerconnection",
phoglund667bd072016-09-16 05:05:39 -0700386 ]
387 seed_corpus = "corpora/sdp-corpus"
388}
katrielc1d4fefb2016-07-06 08:02:00 -0700389
phoglund667bd072016-09-16 05:05:39 -0700390webrtc_fuzzer_test("stun_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100391 sources = [ "stun_parser_fuzzer.cc" ]
phoglund667bd072016-09-16 05:05:39 -0700392 deps = [
Patrik Höglund56d94522019-11-18 15:53:32 +0100393 "../../api/transport:stun_types",
phoglund667bd072016-09-16 05:05:39 -0700394 "../../p2p:rtc_p2p",
395 ]
396 seed_corpus = "corpora/stun-corpus"
397 dict = "corpora/stun.tokens"
398}
katrielc1d4fefb2016-07-06 08:02:00 -0700399
phoglund667bd072016-09-16 05:05:39 -0700400webrtc_fuzzer_test("stun_validator_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100401 sources = [ "stun_validator_fuzzer.cc" ]
phoglund667bd072016-09-16 05:05:39 -0700402 deps = [
Patrik Höglund56d94522019-11-18 15:53:32 +0100403 "../../api/transport:stun_types",
phoglund667bd072016-09-16 05:05:39 -0700404 "../../p2p:rtc_p2p",
405 ]
406 seed_corpus = "corpora/stun-corpus"
407 dict = "corpora/stun.tokens"
408}
katrielc44905cf2016-07-07 05:52:24 -0700409
Qingsi Wang558b93b2018-08-30 10:38:44 -0700410webrtc_fuzzer_test("mdns_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100411 sources = [ "mdns_parser_fuzzer.cc" ]
Qingsi Wang558b93b2018-08-30 10:38:44 -0700412 deps = [
413 "../../p2p:rtc_p2p",
414 "../../rtc_base:rtc_base_approved",
Qingsi Wang558b93b2018-08-30 10:38:44 -0700415 ]
416 seed_corpus = "corpora/mdns-corpus"
417}
418
phoglund667bd072016-09-16 05:05:39 -0700419webrtc_fuzzer_test("pseudotcp_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100420 sources = [ "pseudotcp_parser_fuzzer.cc" ]
phoglund667bd072016-09-16 05:05:39 -0700421 deps = [
422 "../../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 13:35:10 +0100423 "../../rtc_base",
phoglund667bd072016-09-16 05:05:39 -0700424 ]
katrielc262ba772016-07-06 05:59:23 -0700425}
minyue435ddf92017-01-23 08:07:05 -0800426
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200427rtc_library("audio_processing_fuzzer_helper") {
Alessio Bazzica02b76bd2020-02-27 16:32:56 +0100428 testonly = true
aleloi8c512822017-06-20 05:26:55 -0700429 sources = [
Alex Loikoab20a602018-01-16 12:50:34 +0100430 "audio_processing_fuzzer_helper.cc",
431 "audio_processing_fuzzer_helper.h",
aleloi8c512822017-06-20 05:26:55 -0700432 ]
433 deps = [
Alex Loikoab20a602018-01-16 12:50:34 +0100434 ":fuzz_data_helper",
Fredrik Solenbergbbf21a32018-04-12 22:44:09 +0200435 "../../api/audio:audio_frame_api",
aleloi8c512822017-06-20 05:26:55 -0700436 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000437 "../../modules/audio_processing:api",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100438 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700439 "../../rtc_base:rtc_base_approved",
Danil Chapovalov431abd92018-06-18 12:54:17 +0200440 "//third_party/abseil-cpp/absl/types:optional",
aleloi8c512822017-06-20 05:26:55 -0700441 ]
442}
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100443
Alex Loikoab20a602018-01-16 12:50:34 +0100444webrtc_fuzzer_test("audio_processing_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100445 sources = [ "audio_processing_configs_fuzzer.cc" ]
Alex Loikoab20a602018-01-16 12:50:34 +0100446 deps = [
447 ":audio_processing_fuzzer_helper",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100448 "../../api:scoped_refptr",
Gustaf Ullberg0efa9412018-02-27 13:58:45 +0100449 "../../api/audio:aec3_factory",
Danil Chapovalov32b18342019-07-11 13:58:14 +0200450 "../../api/task_queue:default_task_queue_factory",
Alex Loikoab20a602018-01-16 12:50:34 +0100451 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000452 "../../modules/audio_processing:api",
Per Åhgren200feba2019-03-06 04:16:46 +0100453 "../../modules/audio_processing:audio_buffer",
Gustaf Ullbergf35c6662018-02-23 13:18:29 +0100454 "../../modules/audio_processing/aec3",
Alex Loiko4842c782018-10-23 13:43:28 +0200455 "../../modules/audio_processing/aec_dump",
456 "../../modules/audio_processing/aec_dump:aec_dump_impl",
Alex Loikoa05ee822018-02-20 15:58:36 +0100457 "../../rtc_base:rtc_base_approved",
Alex Loiko4842c782018-10-23 13:43:28 +0200458 "../../rtc_base:rtc_task_queue",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100459 "../../rtc_base:safe_minmax",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200460 "../../system_wrappers:field_trial",
Mirko Bonadeie9b18542018-07-24 10:17:20 +0200461 "//third_party/abseil-cpp/absl/memory",
Alex Loikoab20a602018-01-16 12:50:34 +0100462 ]
Alex Loiko38c15d32018-03-02 13:53:09 +0100463 seed_corpus = "corpora/audio_processing-corpus"
Alex Loikoab20a602018-01-16 12:50:34 +0100464}
465
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200466webrtc_fuzzer_test("agc_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100467 sources = [ "agc_fuzzer.cc" ]
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200468 deps = [
469 ":fuzz_data_helper",
470 "../../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:54 +0000471 "../../modules/audio_processing:api",
Per Åhgren200feba2019-03-06 04:16:46 +0100472 "../../modules/audio_processing:audio_buffer",
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200473 "../../rtc_base:rtc_base_approved",
474 "../../rtc_base:safe_minmax",
475 ]
476
477 seed_corpus = "corpora/agc-corpus"
Sam Zackrissonf341f3f2018-06-21 14:09:16 +0200478}
479
Sam Zackrissondb8df172019-10-17 17:56:21 +0200480webrtc_fuzzer_test("aec3_config_json_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100481 sources = [ "aec3_config_json_fuzzer.cc" ]
Sam Zackrissondb8df172019-10-17 17:56:21 +0200482 deps = [
483 ":fuzz_data_helper",
484 "../../api/audio:aec3_config",
485 "../../api/audio:aec3_config_json",
486 ]
487 dict = "//testing/libfuzzer/fuzzers/dicts/json.dict"
488 seed_corpus = "corpora/aec3-config-json-corpus"
489}
490
Sam Zackrissonb0db98c2019-11-26 18:55:02 +0100491webrtc_fuzzer_test("aec3_fuzzer") {
492 defines = []
493 if (apm_debug_dump) {
494 defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ]
495 } else {
496 defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ]
497 }
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100498 sources = [ "aec3_fuzzer.cc" ]
Sam Zackrissonb0db98c2019-11-26 18:55:02 +0100499 deps = [
500 ":fuzz_data_helper",
Mirko Bonadeia9ad36f2019-12-04 11:01:52 +0100501 "../../modules/audio_processing:api",
Sam Zackrissonb0db98c2019-11-26 18:55:02 +0100502 "../../modules/audio_processing:audio_buffer",
503 "../../modules/audio_processing/aec3",
Sam Zackrissonb0db98c2019-11-26 18:55:02 +0100504 ]
505}
506
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100507webrtc_fuzzer_test("comfort_noise_decoder_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100508 sources = [ "comfort_noise_decoder_fuzzer.cc" ]
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100509 deps = [
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100510 "../../api:array_view",
Karl Wiberg23659362018-11-01 11:13:44 +0100511 "../../modules/audio_coding:webrtc_cng",
Henrik Lundin5dcbbfd2017-12-07 09:21:36 +0100512 "../../rtc_base:rtc_base_approved",
513 ]
514}
515
Danil Chapovalov429d8fe2019-11-21 16:05:25 +0100516webrtc_fuzzer_test("rtp_depacketizer_av1_assemble_frame_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100517 sources = [ "rtp_depacketizer_av1_assemble_frame_fuzzer.cc" ]
Danil Chapovalov5314b132019-11-26 10:13:07 +0100518 seed_corpus = "corpora/rtp-depacketizer-av1-assemble-frame-corpus"
Danil Chapovalov429d8fe2019-11-21 16:05:25 +0100519 deps = [
520 ":fuzz_data_helper",
521 "../../api:array_view",
522 "../../modules/rtp_rtcp",
523 ]
524}
525
Danil Chapovalovef83cc52019-09-20 12:24:56 +0200526webrtc_fuzzer_test("rtp_dependency_descriptor_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100527 sources = [ "rtp_dependency_descriptor_fuzzer.cc" ]
Danil Chapovalovef83cc52019-09-20 12:24:56 +0200528 seed_corpus = "corpora/dependency_descriptor-corpus"
529 deps = [
530 "../../api:array_view",
531 "../../common_video/generic_frame_descriptor",
532 "../../modules/rtp_rtcp:rtp_rtcp_format",
533 "../../rtc_base:checks",
534 ]
535}
536
philipelc1ee9d52018-05-16 14:06:13 +0200537webrtc_fuzzer_test("rtp_frame_reference_finder_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100538 sources = [ "rtp_frame_reference_finder_fuzzer.cc" ]
philipelc1ee9d52018-05-16 14:06:13 +0200539 deps = [
Chen Xingf00bf422019-06-20 10:05:55 +0200540 "../../api:rtp_packet_info",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100541 "../../api:scoped_refptr",
philipelc1ee9d52018-05-16 14:06:13 +0200542 "../../modules/video_coding/",
philipelc1ee9d52018-05-16 14:06:13 +0200543 "../../system_wrappers",
544 ]
philipelc1ee9d52018-05-16 14:06:13 +0200545}
philipel1e9cf7f2018-05-17 13:34:53 +0200546
547webrtc_fuzzer_test("frame_buffer2_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100548 sources = [ "frame_buffer2_fuzzer.cc" ]
philipel1e9cf7f2018-05-17 13:34:53 +0200549 deps = [
550 "../../modules/video_coding/",
philipel19053972020-01-29 17:36:11 +0100551 "../time_controller:time_controller",
philipel1e9cf7f2018-05-17 13:34:53 +0200552 ]
philipel1e9cf7f2018-05-17 13:34:53 +0200553}
Benjamin Wrightf6b10fb2018-12-11 16:35:04 -0800554
Benjamin Wrightade5cb82019-03-12 10:56:05 -0700555webrtc_fuzzer_test("field_trial_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100556 sources = [ "field_trial_fuzzer.cc" ]
557 deps = [ "../../system_wrappers:field_trial" ]
Benjamin Wrightade5cb82019-03-12 10:56:05 -0700558 seed_corpus = "corpora/field_trial-corpus"
559}
Benjamin Wrightdfaea9d2019-03-12 14:03:33 -0700560
561webrtc_fuzzer_test("string_to_number_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100562 sources = [ "string_to_number_fuzzer.cc" ]
563 deps = [ "../../rtc_base:rtc_base_approved" ]
Benjamin Wrightdfaea9d2019-03-12 14:03:33 -0700564 seed_corpus = "corpora/string_to_number-corpus"
565}
Benjamin Wrightd6c4b802019-03-12 17:00:25 -0700566
567webrtc_fuzzer_test("rtp_rtcp_demuxer_helper_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100568 sources = [ "rtp_rtcp_demuxer_helper_fuzzer.cc" ]
Benjamin Wrightd6c4b802019-03-12 17:00:25 -0700569 deps = [
570 "../../api:array_view",
571 "../../call:rtp_receiver",
572 ]
573 seed_corpus = "corpora/rtcp-corpus"
574}
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700575
576webrtc_fuzzer_test("sctp_utils_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100577 sources = [ "sctp_utils_fuzzer.cc" ]
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700578 deps = [
579 "../../api:libjingle_peerconnection_api",
580 "../../pc:libjingle_peerconnection",
Bjorn A Mellembc3eebc2019-09-23 14:53:54 -0700581 "../../pc:rtc_pc_base",
Benjamin Wright7f3687c2019-03-13 10:59:12 -0700582 "../../rtc_base:rtc_base_approved",
583 ]
584}
585
Benjamin Wright1295b0d2019-03-13 15:01:22 -0700586webrtc_fuzzer_test("rtp_header_parser_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100587 sources = [ "rtp_header_parser_fuzzer.cc" ]
588 deps = [ "../:rtp_test_utils" ]
Benjamin Wright1295b0d2019-03-13 15:01:22 -0700589}
Benjamin Wrightd5e1c372019-03-13 16:59:54 -0700590
591webrtc_fuzzer_test("ssl_certificate_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100592 sources = [ "rtp_header_parser_fuzzer.cc" ]
593 deps = [ "../:rtp_test_utils" ]
Benjamin Wrightd5e1c372019-03-13 16:59:54 -0700594}
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700595
596webrtc_fuzzer_test("vp8_replay_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100597 sources = [ "vp8_replay_fuzzer.cc" ]
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700598 deps = [
599 "../../rtc_base:rtc_base_approved",
600 "utils:rtp_replayer",
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700601 ]
602 seed_corpus = "corpora/rtpdump-corpus/vp8"
603}
604
605webrtc_fuzzer_test("vp9_replay_fuzzer") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100606 sources = [ "vp9_replay_fuzzer.cc" ]
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700607 deps = [
608 "../../rtc_base:rtc_base_approved",
609 "utils:rtp_replayer",
Benjamin Wright47dbcab2019-03-14 15:01:30 -0700610 ]
611 seed_corpus = "corpora/rtpdump-corpus/vp9"
612}