diff options
| author | 2020-10-17 02:04:58 +0000 | |
|---|---|---|
| committer | 2020-10-17 02:04:58 +0000 | |
| commit | a5b2d2daa07b4747d6c9d212edf8a336031d7d59 (patch) | |
| tree | c49a57cdddd39ea7bb1f0d015b818baaa3c44a5b | |
| parent | 46229422fe53b9af76e6c8bfa29435e66790d6d2 (diff) | |
| parent | 739a74d3fb80236723a5cde4c771d31f08561377 (diff) | |
Merge "binder_parcel_fuzzer: split out random_parcel.h" am: 08f1520519 am: 0b0cc0d524 am: 1d94cf4a2b am: 739a74d3fb
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1464464
Change-Id: I8364b6408f96959babc1471594282774c10fe01f
| -rw-r--r-- | libs/binder/parcel_fuzzer/Android.bp | 18 | ||||
| -rw-r--r-- | libs/binder/parcel_fuzzer/include_random_parcel/fuzzbinder/random_fd.h (renamed from libs/binder/parcel_fuzzer/random_fd.h) | 0 | ||||
| -rw-r--r-- | libs/binder/parcel_fuzzer/include_random_parcel/fuzzbinder/random_parcel.h (renamed from libs/binder/parcel_fuzzer/random_parcel.h) | 3 | ||||
| -rw-r--r-- | libs/binder/parcel_fuzzer/main.cpp | 7 | ||||
| -rw-r--r-- | libs/binder/parcel_fuzzer/random_fd.cpp | 2 | ||||
| -rw-r--r-- | libs/binder/parcel_fuzzer/random_parcel.cpp | 9 |
6 files changed, 27 insertions, 12 deletions
diff --git a/libs/binder/parcel_fuzzer/Android.bp b/libs/binder/parcel_fuzzer/Android.bp index 1a6789833c..c5b3d8049b 100644 --- a/libs/binder/parcel_fuzzer/Android.bp +++ b/libs/binder/parcel_fuzzer/Android.bp @@ -18,6 +18,7 @@ cc_fuzz { ], static_libs: [ "libbase", + "libbinder_random_parcel", "libcgrouprc", "libcgrouprc_format", "libcutils", @@ -47,3 +48,20 @@ cc_fuzz { // produced, you may find uncommenting the below line very useful. // cflags: ["-DENABLE_LOG_FUZZ"], } + +cc_library_static { + name: "libbinder_random_parcel", + host_supported: true, + srcs: [ + "random_fd.cpp", + "random_parcel.cpp", + ], + shared_libs: [ + "libbase", + "libbinder", + "libcutils", + "libutils", + ], + local_include_dirs: ["include_random_parcel"], + export_include_dirs: ["include_random_parcel"], +} diff --git a/libs/binder/parcel_fuzzer/random_fd.h b/libs/binder/parcel_fuzzer/include_random_parcel/fuzzbinder/random_fd.h index 0a083d7665..0a083d7665 100644 --- a/libs/binder/parcel_fuzzer/random_fd.h +++ b/libs/binder/parcel_fuzzer/include_random_parcel/fuzzbinder/random_fd.h diff --git a/libs/binder/parcel_fuzzer/random_parcel.h b/libs/binder/parcel_fuzzer/include_random_parcel/fuzzbinder/random_parcel.h index 2923c47f46..b92a6a9f8e 100644 --- a/libs/binder/parcel_fuzzer/random_parcel.h +++ b/libs/binder/parcel_fuzzer/include_random_parcel/fuzzbinder/random_parcel.h @@ -16,12 +16,9 @@ #pragma once -#include "binder_ndk.h" - #include <binder/Parcel.h> #include <fuzzer/FuzzedDataProvider.h> namespace android { void fillRandomParcel(Parcel* p, FuzzedDataProvider&& provider); -void fillRandomParcel(NdkParcelAdapter* p, FuzzedDataProvider&& provider); } // namespace android diff --git a/libs/binder/parcel_fuzzer/main.cpp b/libs/binder/parcel_fuzzer/main.cpp index 46bf4178d0..386c70ba80 100644 --- a/libs/binder/parcel_fuzzer/main.cpp +++ b/libs/binder/parcel_fuzzer/main.cpp @@ -18,10 +18,10 @@ #include "binder.h" #include "binder_ndk.h" #include "hwbinder.h" -#include "random_parcel.h" #include "util.h" #include <android-base/logging.h> +#include <fuzzbinder/random_parcel.h> #include <fuzzer/FuzzedDataProvider.h> #include <cstdlib> @@ -30,9 +30,14 @@ using android::fillRandomParcel; void fillRandomParcel(::android::hardware::Parcel* p, FuzzedDataProvider&& provider) { + // TODO: functionality to create random parcels for libhwbinder parcels std::vector<uint8_t> input = provider.ConsumeRemainingBytes<uint8_t>(); p->setData(input.data(), input.size()); } +static void fillRandomParcel(NdkParcelAdapter* p, FuzzedDataProvider&& provider) { + // fill underlying parcel using functions to fill random libbinder parcel + fillRandomParcel(p->parcel(), std::move(provider)); +} template <typename P> void doFuzz(const char* backend, const std::vector<ParcelRead<P>>& reads, diff --git a/libs/binder/parcel_fuzzer/random_fd.cpp b/libs/binder/parcel_fuzzer/random_fd.cpp index eb80ece747..cef6adb82d 100644 --- a/libs/binder/parcel_fuzzer/random_fd.cpp +++ b/libs/binder/parcel_fuzzer/random_fd.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "random_fd.h" +#include <fuzzbinder/random_fd.h> #include <fcntl.h> diff --git a/libs/binder/parcel_fuzzer/random_parcel.cpp b/libs/binder/parcel_fuzzer/random_parcel.cpp index 3dae9043da..9ca4c8aca4 100644 --- a/libs/binder/parcel_fuzzer/random_parcel.cpp +++ b/libs/binder/parcel_fuzzer/random_parcel.cpp @@ -14,20 +14,15 @@ * limitations under the License. */ -#include "random_parcel.h" - -#include "random_fd.h" +#include <fuzzbinder/random_parcel.h> #include <android-base/logging.h> #include <binder/IServiceManager.h> +#include <fuzzbinder/random_fd.h> #include <utils/String16.h> namespace android { -void fillRandomParcel(NdkParcelAdapter* p, FuzzedDataProvider&& provider) { - fillRandomParcel(p->parcel(), std::move(provider)); -} - class NamedBinder : public BBinder { public: NamedBinder(const String16& descriptor) : mDescriptor(descriptor) {} |