Merge "libbinder: Enable service specific error codes"
am: dff3651eed
* commit 'dff3651eed393f4a6e7b5fcbea1d91de981e91a0':
libbinder: Enable service specific error codes
diff --git a/Parcel.cpp b/Parcel.cpp
index 0beea33..13ecc87 100644
--- a/Parcel.cpp
+++ b/Parcel.cpp
@@ -376,13 +376,11 @@
size_t Parcel::dataAvail() const
{
- // TODO: decide what to do about the possibility that this can
- // report an available-data size that exceeds a Java int's max
- // positive value, causing havoc. Fortunately this will only
- // happen if someone constructs a Parcel containing more than two
- // gigabytes of data, which on typical phone hardware is simply
- // not possible.
- return dataSize() - dataPosition();
+ size_t result = dataSize() - dataPosition();
+ if (result > INT32_MAX) {
+ abort();
+ }
+ return result;
}
size_t Parcel::dataPosition() const