Merge \\"Fix broken readNullableStrongBinder<T> implementation\\" am: 6e81c9a4c6
am: 869f04bedb
Change-Id: If89b553521a2ebe384dbd63756364c263c75cfd3
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index 42ed148..c9d9bf8 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -586,10 +586,12 @@
if (ret == OK) {
*val = interface_cast<T>(tmp);
- if (val->get() == nullptr) {
- return UNKNOWN_ERROR;
+ if (val->get() == nullptr && tmp.get() != nullptr) {
+ ret = UNKNOWN_ERROR;
}
}
+
+ return ret;
}
template<typename T, typename U>