From f0eb0f2d926046c29980bf41984eeb3962ef8261 Mon Sep 17 00:00:00 2001 From: 5ec1cff Date: Wed, 10 Jul 2024 17:52:50 +0800 Subject: [PATCH] ensure sizes of libbinder types --- module/src/main/cpp/binder/stub_binder.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/module/src/main/cpp/binder/stub_binder.cpp b/module/src/main/cpp/binder/stub_binder.cpp index 979c3a2..8b0502b 100644 --- a/module/src/main/cpp/binder/stub_binder.cpp +++ b/module/src/main/cpp/binder/stub_binder.cpp @@ -17,7 +17,13 @@ namespace android { BpBinder* IBinder::remoteBinder() { return nullptr; } // Binder.h - +#ifdef __LP64__ + static_assert(sizeof(IBinder) == 24); + static_assert(sizeof(BBinder) == 40); +#else + static_assert(sizeof(IBinder) == 12); + static_assert(sizeof(BBinder) == 20); +#endif BBinder::BBinder() {} const String16& BBinder::getInterfaceDescriptor() const { return {}; } @@ -57,6 +63,11 @@ namespace android { uid_t IPCThreadState::getCallingUid() const { return 0; } // Parcel.h +#ifdef __LP64__ + static_assert(sizeof(Parcel) == 120); +#else + static_assert(sizeof(Parcel) == 60); +#endif Parcel::Parcel() {} Parcel::~Parcel() {}