libbinder_ndk: fix null binder parceling segfault.
Test: runtests.sh
Test: android.binder.cts.NdkBinderTest
Change-Id: I9d3a049fc36ac600ae2f30cf215e2e4c9db9e91b
diff --git a/libs/binder/ndk/AParcel.cpp b/libs/binder/ndk/AParcel.cpp
index f5b4bef..f090929 100644
--- a/libs/binder/ndk/AParcel.cpp
+++ b/libs/binder/ndk/AParcel.cpp
@@ -35,7 +35,8 @@
}
binder_status_t AParcel_writeStrongBinder(AParcel* parcel, AIBinder* binder) {
- return (*parcel)->writeStrongBinder(binder->getBinder());
+ sp<IBinder> writeBinder = binder != nullptr ? binder->getBinder() : nullptr;
+ return (*parcel)->writeStrongBinder(writeBinder);
}
binder_status_t AParcel_readStrongBinder(const AParcel* parcel, AIBinder** binder) {
sp<IBinder> readBinder = nullptr;