From e0bcbe7cca6d605a35442474a0c9c3a5e40c8155 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Wed, 22 Mar 2023 22:35:49 +0000 Subject: Add more types to GenericDataParcelable for testing Test: binder_parcel_fuzzer Bug: 244494451 Change-Id: I7d605ac85cc48d5bbfc5d018782acd6939a778cf --- .../tests/parcel_fuzzer/parcelables/GenericDataParcelable.aidl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libs/binder/tests/parcel_fuzzer/parcelables/GenericDataParcelable.aidl b/libs/binder/tests/parcel_fuzzer/parcelables/GenericDataParcelable.aidl index 01e6999fed..dd08f72470 100644 --- a/libs/binder/tests/parcel_fuzzer/parcelables/GenericDataParcelable.aidl +++ b/libs/binder/tests/parcel_fuzzer/parcelables/GenericDataParcelable.aidl @@ -16,6 +16,14 @@ package parcelables; parcelable GenericDataParcelable { + enum JustSomeEnum { + SOME_ENUMERATOR, + ANOTHER_ENUMERATOR, + MAYBE_ONE_MORE_ENUMERATOR, + } + + const int COOL_CONSTANT = 0x1234; + int data; float majorVersion; float minorVersion; @@ -25,4 +33,6 @@ parcelable GenericDataParcelable { String greatString; @utf8InCpp String greaterString; + @nullable String nullableString; + JustSomeEnum gretEnum = JustSomeEnum.ANOTHER_ENUMERATOR; } -- cgit v1.2.3-59-g8ed1b From f7b352ff792e89a1d854fc62ad4427c75b75dc23 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Wed, 22 Mar 2023 22:39:52 +0000 Subject: Add a toString call to ndk binder_parcel_fuzzer Test: binder_parcel_fuzzer Bug: 244494451 Change-Id: Ic15a8a50a043981330cf98e106071750c5997389 --- libs/binder/tests/parcel_fuzzer/binder_ndk.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp b/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp index 08eb27a8a7..4a60c250ae 100644 --- a/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp +++ b/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp @@ -198,6 +198,7 @@ std::vector> BINDER_NDK_PARCEL_READ_FUNCTIONS{ aidl::parcelables::GenericDataParcelable genericDataParcelable; binder_status_t status = genericDataParcelable.readFromParcel(p.aParcel()); FUZZ_LOG() << "status: " << status; + FUZZ_LOG() << "toString() result: " << genericDataParcelable.toString(); }, [](const NdkParcelAdapter& p, FuzzedDataProvider& provider) { FUZZ_LOG() << "about to marshal AParcel"; -- cgit v1.2.3-59-g8ed1b From 765ff80c92f4a7053e3df0e90578eaaa6d956060 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Wed, 22 Mar 2023 22:56:19 +0000 Subject: Store p.toString() in a string variable in binder_parcel_fuzzer So it still gets called when FUZZ_LOG isn't enabled. Test: binder_parcel_fuzzer Bug: 2503960 Change-Id: Iad6dba81a399ed77142db932ca0f923948255c6b --- libs/binder/tests/parcel_fuzzer/binder.cpp | 3 ++- libs/binder/tests/parcel_fuzzer/binder_ndk.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/binder/tests/parcel_fuzzer/binder.cpp b/libs/binder/tests/parcel_fuzzer/binder.cpp index 6da7a5baab..46d387ce86 100644 --- a/libs/binder/tests/parcel_fuzzer/binder.cpp +++ b/libs/binder/tests/parcel_fuzzer/binder.cpp @@ -374,7 +374,8 @@ std::vector> BINDER_PARCEL_READ_FUNCTIONS { parcelables::GenericDataParcelable genericDataParcelable; status_t status = genericDataParcelable.readFromParcel(&p); FUZZ_LOG() << " status: " << status; - FUZZ_LOG() << " toString() result: " << genericDataParcelable.toString(); + std::string toString = genericDataParcelable.toString(); + FUZZ_LOG() << " toString() result: " << toString; }, }; // clang-format on diff --git a/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp b/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp index 4a60c250ae..3a1471eabe 100644 --- a/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp +++ b/libs/binder/tests/parcel_fuzzer/binder_ndk.cpp @@ -198,7 +198,8 @@ std::vector> BINDER_NDK_PARCEL_READ_FUNCTIONS{ aidl::parcelables::GenericDataParcelable genericDataParcelable; binder_status_t status = genericDataParcelable.readFromParcel(p.aParcel()); FUZZ_LOG() << "status: " << status; - FUZZ_LOG() << "toString() result: " << genericDataParcelable.toString(); + std::string toString = genericDataParcelable.toString(); + FUZZ_LOG() << "toString() result: " << toString; }, [](const NdkParcelAdapter& p, FuzzedDataProvider& provider) { FUZZ_LOG() << "about to marshal AParcel"; -- cgit v1.2.3-59-g8ed1b