libbinder: Return UNEXPECTED_NULL when appropriate
Return a meaningful and consistent error code when libbinder encounters
a null reference that it didn't expect. This allows us to detect these
situations and cause a corresponding NullPointerException to be thrown
on the remote callsite.
While here, consolidate places we read vector<T> from a parcel into a
single templated version. This dramatically reduces code duplication.
Bug: 25617251
Test: Integration tests asserting that vectors serialize correctly
passes. Integration test asserting that we throw
NullPointerException on seeing a null reference also passes.
(cherry picked from commit 4db672ddccb02b2bd70ddb4812c00a5060174c93)
Change-Id: Icdb0b29aaff93e85884314c0304cd786e7b4e34f
1 file changed