Loading libs/binder/tests/parcel_fuzzer/include_random_parcel/fuzzbinder/libbinder_driver.h +11 −0 Original line number Diff line number Diff line Loading @@ -19,7 +19,17 @@ #include <binder/IBinder.h> #include <fuzzer/FuzzedDataProvider.h> #include <vector> namespace android { /** * See fuzzService, but fuzzes multiple services at the same time. * * Consumes providers. */ void fuzzService(const std::vector<sp<IBinder>>& binders, FuzzedDataProvider&& provider); /** * Based on the random data in provider, construct an arbitrary number of * Parcel objects and send them to the service in serial. Loading @@ -34,4 +44,5 @@ namespace android { * } */ void fuzzService(const sp<IBinder>& binder, FuzzedDataProvider&& provider); } // namespace android libs/binder/tests/parcel_fuzzer/include_random_parcel/fuzzbinder/libbinder_ndk_driver.h +11 −0 Original line number Diff line number Diff line Loading @@ -16,10 +16,21 @@ #pragma once #include <android/binder_auto_utils.h> #include <android/binder_parcel.h> #include <fuzzer/FuzzedDataProvider.h> #include <vector> namespace android { /** * See fuzzService, but fuzzes multiple services at the same time. * * Consumes providers. */ void fuzzService(const std::vector<ndk::SpAIBinder>& binders, FuzzedDataProvider&& provider); /** * Based on the random data in provider, construct an arbitrary number of * Parcel objects and send them to the service in serial. Loading libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -24,10 +24,12 @@ namespace android { void fuzzService(const sp<IBinder>& binder, FuzzedDataProvider&& provider) { sp<IBinder> target; fuzzService(std::vector<sp<IBinder>>{binder}, std::move(provider)); } void fuzzService(const std::vector<sp<IBinder>>& binders, FuzzedDataProvider&& provider) { RandomParcelOptions options{ .extraBinders = {binder}, .extraBinders = binders, .extraFds = {}, }; Loading libs/binder/tests/parcel_fuzzer/libbinder_ndk_driver.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,15 @@ namespace android { void fuzzService(const std::vector<ndk::SpAIBinder>& binders, FuzzedDataProvider&& provider) { std::vector<sp<IBinder>> cppBinders; for (const auto& binder : binders) { cppBinders.push_back(binder.get()->getBinder()); } fuzzService(cppBinders, std::move(provider)); } void fuzzService(AIBinder* binder, FuzzedDataProvider&& provider) { fuzzService(binder->getBinder(), std::move(provider)); } Loading Loading
libs/binder/tests/parcel_fuzzer/include_random_parcel/fuzzbinder/libbinder_driver.h +11 −0 Original line number Diff line number Diff line Loading @@ -19,7 +19,17 @@ #include <binder/IBinder.h> #include <fuzzer/FuzzedDataProvider.h> #include <vector> namespace android { /** * See fuzzService, but fuzzes multiple services at the same time. * * Consumes providers. */ void fuzzService(const std::vector<sp<IBinder>>& binders, FuzzedDataProvider&& provider); /** * Based on the random data in provider, construct an arbitrary number of * Parcel objects and send them to the service in serial. Loading @@ -34,4 +44,5 @@ namespace android { * } */ void fuzzService(const sp<IBinder>& binder, FuzzedDataProvider&& provider); } // namespace android
libs/binder/tests/parcel_fuzzer/include_random_parcel/fuzzbinder/libbinder_ndk_driver.h +11 −0 Original line number Diff line number Diff line Loading @@ -16,10 +16,21 @@ #pragma once #include <android/binder_auto_utils.h> #include <android/binder_parcel.h> #include <fuzzer/FuzzedDataProvider.h> #include <vector> namespace android { /** * See fuzzService, but fuzzes multiple services at the same time. * * Consumes providers. */ void fuzzService(const std::vector<ndk::SpAIBinder>& binders, FuzzedDataProvider&& provider); /** * Based on the random data in provider, construct an arbitrary number of * Parcel objects and send them to the service in serial. Loading
libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -24,10 +24,12 @@ namespace android { void fuzzService(const sp<IBinder>& binder, FuzzedDataProvider&& provider) { sp<IBinder> target; fuzzService(std::vector<sp<IBinder>>{binder}, std::move(provider)); } void fuzzService(const std::vector<sp<IBinder>>& binders, FuzzedDataProvider&& provider) { RandomParcelOptions options{ .extraBinders = {binder}, .extraBinders = binders, .extraFds = {}, }; Loading
libs/binder/tests/parcel_fuzzer/libbinder_ndk_driver.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,15 @@ namespace android { void fuzzService(const std::vector<ndk::SpAIBinder>& binders, FuzzedDataProvider&& provider) { std::vector<sp<IBinder>> cppBinders; for (const auto& binder : binders) { cppBinders.push_back(binder.get()->getBinder()); } fuzzService(cppBinders, std::move(provider)); } void fuzzService(AIBinder* binder, FuzzedDataProvider&& provider) { fuzzService(binder->getBinder(), std::move(provider)); } Loading