Merge "libbinder: Add support for C++ Parcelable" am: 49b5443a49
am: 6c31acd969

* commit '6c31acd969ffc754e514885fa7f4d0c25403f580':
  libbinder: Add support for C++ Parcelable
diff --git a/Parcel.cpp b/Parcel.cpp
index a693c71..a101d90 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