Merge "libbinder: Don\'t redefine B_PACK_CHARS" am: 7166e7823c
am: a1474da3b5
* commit 'a1474da3b5a521c2f33494b4a83e50841a399c15':
libbinder: Don't redefine B_PACK_CHARS
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