Loading vibrator/aidl/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -10,6 +10,7 @@ package { aidl_interface { aidl_interface { name: "android.hardware.vibrator", name: "android.hardware.vibrator", vendor_available: true, vendor_available: true, host_supported: true, srcs: [ srcs: [ "android/hardware/vibrator/*.aidl", "android/hardware/vibrator/*.aidl", ], ], Loading vibrator/aidl/default/Android.bp +44 −1 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,8 @@ package { cc_library_static { cc_library_static { name: "libvibratorexampleimpl", name: "libvibratorexampleimpl", vendor: true, vendor_available: true, host_supported: true, shared_libs: [ shared_libs: [ "libbase", "libbase", "libbinder_ndk", "libbinder_ndk", Loading @@ -24,6 +25,11 @@ cc_library_static { ":__subpackages__", ":__subpackages__", "//hardware/interfaces/tests/extension/vibrator:__subpackages__", "//hardware/interfaces/tests/extension/vibrator:__subpackages__", ], ], target: { darwin: { enabled: false, }, }, } } filegroup { filegroup { Loading @@ -47,3 +53,40 @@ cc_binary { ], ], srcs: ["main.cpp"], srcs: ["main.cpp"], } } cc_fuzz { name: "android.hardware.vibrator-service.example_fuzzer", host_supported: true, static_libs: [ "android.hardware.vibrator-V2-ndk", "libbase", "libbinder_random_parcel", "libcutils", "liblog", "libutils", "libvibratorexampleimpl", ], target: { android: { shared_libs: [ "libbinder_ndk", "libbinder", ], }, host: { static_libs: [ "libbinder_ndk", "libbinder", ], }, darwin: { enabled: false, }, }, srcs: ["fuzzer.cpp"], fuzz_config: { cc: [ "smoreland@google.com", ], }, } vibrator/aidl/default/fuzzer.cpp 0 → 100644 +33 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2022 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. */ #include <fuzzbinder/libbinder_ndk_driver.h> #include <fuzzer/FuzzedDataProvider.h> #include <vibrator-impl/Vibrator.h> #include <vibrator-impl/VibratorManager.h> using aidl::android::hardware::vibrator::Vibrator; using aidl::android::hardware::vibrator::VibratorManager; using android::fuzzService; using ndk::SharedRefBase; extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { auto managedVib = SharedRefBase::make<Vibrator>(); auto vibManager = SharedRefBase::make<VibratorManager>(std::move(managedVib)); fuzzService(vibManager->asBinder().get(), FuzzedDataProvider(data, size)); return 0; } Loading
vibrator/aidl/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -10,6 +10,7 @@ package { aidl_interface { aidl_interface { name: "android.hardware.vibrator", name: "android.hardware.vibrator", vendor_available: true, vendor_available: true, host_supported: true, srcs: [ srcs: [ "android/hardware/vibrator/*.aidl", "android/hardware/vibrator/*.aidl", ], ], Loading
vibrator/aidl/default/Android.bp +44 −1 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,8 @@ package { cc_library_static { cc_library_static { name: "libvibratorexampleimpl", name: "libvibratorexampleimpl", vendor: true, vendor_available: true, host_supported: true, shared_libs: [ shared_libs: [ "libbase", "libbase", "libbinder_ndk", "libbinder_ndk", Loading @@ -24,6 +25,11 @@ cc_library_static { ":__subpackages__", ":__subpackages__", "//hardware/interfaces/tests/extension/vibrator:__subpackages__", "//hardware/interfaces/tests/extension/vibrator:__subpackages__", ], ], target: { darwin: { enabled: false, }, }, } } filegroup { filegroup { Loading @@ -47,3 +53,40 @@ cc_binary { ], ], srcs: ["main.cpp"], srcs: ["main.cpp"], } } cc_fuzz { name: "android.hardware.vibrator-service.example_fuzzer", host_supported: true, static_libs: [ "android.hardware.vibrator-V2-ndk", "libbase", "libbinder_random_parcel", "libcutils", "liblog", "libutils", "libvibratorexampleimpl", ], target: { android: { shared_libs: [ "libbinder_ndk", "libbinder", ], }, host: { static_libs: [ "libbinder_ndk", "libbinder", ], }, darwin: { enabled: false, }, }, srcs: ["fuzzer.cpp"], fuzz_config: { cc: [ "smoreland@google.com", ], }, }
vibrator/aidl/default/fuzzer.cpp 0 → 100644 +33 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2022 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. */ #include <fuzzbinder/libbinder_ndk_driver.h> #include <fuzzer/FuzzedDataProvider.h> #include <vibrator-impl/Vibrator.h> #include <vibrator-impl/VibratorManager.h> using aidl::android::hardware::vibrator::Vibrator; using aidl::android::hardware::vibrator::VibratorManager; using android::fuzzService; using ndk::SharedRefBase; extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { auto managedVib = SharedRefBase::make<Vibrator>(); auto vibManager = SharedRefBase::make<VibratorManager>(std::move(managedVib)); fuzzService(vibManager->asBinder().get(), FuzzedDataProvider(data, size)); return 0; }