| // Copyright (C) 2021 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package { |
| // See: http://go/android-license-faq |
| // A large-scale-change added 'default_applicable_licenses' to import |
| // all of the 'license_kinds' from "frameworks_native_license" |
| // to get the below license kinds: |
| // SPDX-license-identifier-Apache-2.0 |
| default_applicable_licenses: ["frameworks_native_license"], |
| } |
| |
| cc_defaults { |
| name: "inputflinger_fuzz_defaults", |
| defaults: [ |
| "inputflinger_defaults", |
| "libinputflinger_defaults", |
| ], |
| host_supported: true, |
| include_dirs: [ |
| "frameworks/native/services/inputflinger", |
| ], |
| shared_libs: [ |
| "libinputreader", |
| "libinputflinger_base", |
| ], |
| sanitize: { |
| hwaddress: true, |
| undefined: true, |
| all_undefined: true, |
| diag: { |
| undefined: true, |
| }, |
| }, |
| target: { |
| host: { |
| sanitize: { |
| address: true, |
| }, |
| }, |
| }, |
| header_libs: [ |
| "libbatteryservice_headers", |
| "libinputreader_headers", |
| ], |
| fuzz_config: { |
| cc: ["android-framework-input@google.com"], |
| componentid: 155276, |
| hotlists: [ |
| "4593311", |
| ], |
| description: "The fuzzer targets the APIs of libinputflinger library", |
| vector: "local_no_privileges_required", |
| service_privilege: "privileged", |
| users: "multi_user", |
| fuzzed_code_usage: "shipped", |
| }, |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_cursor_input_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "CursorInputFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_keyboard_input_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "KeyboardInputFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_multitouch_input_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "MultiTouchInputFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_switch_input_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "SwitchInputFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_touchpad_input_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "TouchpadInputFuzzer.cpp", |
| ], |
| static_libs: [ |
| "libchrome-gestures", |
| ], |
| header_libs: [ |
| "libchrome-gestures_headers", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_input_reader_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "InputReaderFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_blocking_queue_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "BlockingQueueFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_input_classifier_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| ], |
| srcs: [ |
| "InputClassifierFuzzer.cpp", |
| ], |
| } |
| |
| cc_fuzz { |
| name: "inputflinger_latencytracker_fuzzer", |
| defaults: [ |
| "inputflinger_fuzz_defaults", |
| "libinputdispatcher_defaults", |
| ], |
| shared_libs: [ |
| "libinputreporter", |
| ], |
| srcs: [ |
| "LatencyTrackerFuzzer.cpp", |
| ], |
| } |