1/****************************************************************************** 2 * 3 * Copyright (C) 2020 The Android Open Source Project 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ***************************************************************************** 18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19 */ 20package { 21 // See: http://go/android-license-faq 22 // A large-scale-change added 'default_applicable_licenses' to import 23 // all of the 'license_kinds' from "frameworks_av_license" 24 // to get the below license kinds: 25 // SPDX-license-identifier-Apache-2.0 26 default_applicable_licenses: ["frameworks_av_license"], 27 default_team: "trendy_team_android_media_solutions_playback", 28} 29 30cc_defaults { 31 name: "extractor-fuzzerbase-defaults", 32 33 local_include_dirs: [ 34 "include", 35 ], 36 37 export_include_dirs: [ 38 "include", 39 ], 40 41 static_libs: [ 42 "liblog", 43 "libstagefright_foundation_colorutils_ndk", 44 "libstagefright_foundation", 45 "libmediandk_format", 46 "libmedia_ndkformatpriv", 47 ], 48 49 shared_libs: [ 50 "libutils", 51 "libbinder", 52 "libbase", 53 "libcutils", 54 ], 55 56 target: { 57 darwin: { 58 enabled: false, 59 }, 60 }, 61} 62 63cc_defaults { 64 name: "extractor-fuzzer-defaults", 65 defaults: ["extractor-fuzzerbase-defaults"], 66 67 static_libs: [ 68 "libextractorfuzzerbase", 69 ], 70 71 fuzz_config: { 72 cc: [ 73 "[email protected]", 74 ], 75 componentid: 817235, 76 hotlists: [ 77 "4593311", 78 ], 79 description: "The fuzzers targets the APIs of all the various extractors", 80 vector: "remote", 81 service_privilege: "constrained", 82 users: "multi_user", 83 fuzzed_code_usage: "shipped", 84 }, 85} 86 87cc_defaults { 88 name: "mpeg2-extractor-fuzzer-defaults", 89 defaults: ["extractor-fuzzer-defaults"], 90 host_supported: true, 91 92 static_libs: [ 93 "libstagefright_foundation_without_imemory", 94 "libstagefright_mpeg2support", 95 "libstagefright_mpeg2extractor", 96 "libstagefright_esds", 97 "libmpeg2extractor", 98 "libmedia_helper", 99 ], 100 101 shared_libs: [ 102 "[email protected]", 103 "[email protected]", 104 "[email protected]", 105 "[email protected]", 106 "libcrypto", 107 "libhidlmemory", 108 "libhidlbase", 109 ], 110} 111 112cc_library_static { 113 name: "libextractorfuzzerbase", 114 defaults: ["extractor-fuzzerbase-defaults"], 115 host_supported: true, 116 117 srcs: [ 118 "ExtractorFuzzerBase.cpp", 119 ], 120} 121 122cc_fuzz { 123 name: "mp4_extractor_fuzzer", 124 defaults: ["extractor-fuzzer-defaults"], 125 host_supported: true, 126 127 srcs: [ 128 "mp4_extractor_fuzzer.cpp", 129 ], 130 131 static_libs: [ 132 "android.media.extractor.flags-aconfig-cc", 133 "libaconfig_storage_read_api_cc", 134 "libstagefright_id3", 135 "libstagefright_esds", 136 "libmp4extractor", 137 "libstagefright_metadatautils", 138 ], 139 140 shared_libs: [ 141 "server_configurable_flags", 142 ], 143 144 dictionary: "mp4_extractor_fuzzer.dict", 145 146 corpus: ["corpus_mp4/*"], 147} 148 149cc_fuzz { 150 name: "wav_extractor_fuzzer", 151 defaults: ["extractor-fuzzer-defaults"], 152 host_supported: true, 153 154 srcs: [ 155 "wav_extractor_fuzzer.cpp", 156 ], 157 158 static_libs: [ 159 "libfifo", 160 "libwavextractor", 161 ], 162 163 shared_libs: [ 164 "libbinder_ndk", 165 ], 166} 167 168cc_fuzz { 169 name: "amr_extractor_fuzzer", 170 defaults: ["extractor-fuzzer-defaults"], 171 host_supported: true, 172 173 srcs: [ 174 "amr_extractor_fuzzer.cpp", 175 ], 176 177 static_libs: [ 178 "libamrextractor", 179 ], 180 181 dictionary: "amr_extractor_fuzzer.dict", 182} 183 184cc_fuzz { 185 name: "mkv_extractor_fuzzer", 186 defaults: ["extractor-fuzzer-defaults"], 187 host_supported: true, 188 189 srcs: [ 190 "mkv_extractor_fuzzer.cpp", 191 ], 192 193 static_libs: [ 194 "libwebm_mkvparser", 195 "libstagefright_flacdec", 196 "libstagefright_metadatautils", 197 "libmkvextractor", 198 "libFLAC", 199 ], 200 201 dictionary: "mkv_extractor_fuzzer.dict", 202 203 corpus: ["corpus/*"], 204} 205 206cc_fuzz { 207 name: "ogg_extractor_fuzzer", 208 defaults: ["extractor-fuzzer-defaults"], 209 host_supported: true, 210 211 srcs: [ 212 "ogg_extractor_fuzzer.cpp", 213 ], 214 215 static_libs: [ 216 "libstagefright_metadatautils", 217 "libvorbisidec", 218 "liboggextractor", 219 ], 220 221 dictionary: "ogg_extractor_fuzzer.dict", 222} 223 224cc_fuzz { 225 name: "mpeg2ps_extractor_fuzzer", 226 defaults: ["mpeg2-extractor-fuzzer-defaults"], 227 228 srcs: [ 229 "mpeg2_extractor_fuzzer.cpp", 230 ], 231 232 cflags: [ 233 "-DMPEG2PS", 234 ], 235 236 dictionary: "mpeg2ps_extractor_fuzzer.dict", 237} 238 239cc_fuzz { 240 name: "mpeg2ts_extractor_fuzzer", 241 defaults: ["mpeg2-extractor-fuzzer-defaults"], 242 243 srcs: [ 244 "mpeg2_extractor_fuzzer.cpp", 245 ], 246 247 dictionary: "mpeg2ts_extractor_fuzzer.dict", 248} 249 250cc_fuzz { 251 name: "mp3_extractor_fuzzer", 252 defaults: ["extractor-fuzzer-defaults"], 253 host_supported: true, 254 255 srcs: [ 256 "mp3_extractor_fuzzer.cpp", 257 ], 258 259 static_libs: [ 260 "libfifo", 261 "libmp3extractor", 262 "libstagefright_id3", 263 ], 264} 265 266cc_fuzz { 267 name: "aac_extractor_fuzzer", 268 defaults: ["extractor-fuzzer-defaults"], 269 host_supported: true, 270 271 srcs: [ 272 "aac_extractor_fuzzer.cpp", 273 ], 274 275 static_libs: [ 276 "libaacextractor", 277 "libstagefright_metadatautils", 278 ], 279} 280 281cc_fuzz { 282 name: "flac_extractor_fuzzer", 283 defaults: ["extractor-fuzzer-defaults"], 284 host_supported: true, 285 286 srcs: [ 287 "flac_extractor_fuzzer.cpp", 288 ], 289 290 static_libs: [ 291 "libstagefright_metadatautils", 292 "libFLAC", 293 "libflacextractor", 294 ], 295 296 shared_libs: [ 297 "libbinder_ndk", 298 ], 299 300 dictionary: "flac_extractor_fuzzer.dict", 301} 302 303cc_fuzz { 304 name: "midi_extractor_fuzzer", 305 defaults: ["extractor-fuzzer-defaults"], 306 307 srcs: [ 308 "midi_extractor_fuzzer.cpp", 309 ], 310 311 static_libs: [ 312 "android.media.extractor.flags-aconfig-cc", 313 "libaconfig_storage_read_api_cc", 314 "libsonivox", 315 "libmedia_midiiowrapper", 316 "libmidiextractor", 317 "libwatchdog", 318 ], 319 320 shared_libs: [ 321 "server_configurable_flags", 322 ], 323 324 dictionary: "midi_extractor_fuzzer.dict", 325 326 host_supported: true, 327} 328