summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Wachenschwanz <mwachens@google.com>2019-07-01 10:24:37 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-07-01 10:24:37 -0700
commit5b788aa514935cc3785e93669bbd96cb347d5f08 (patch)
tree6b3a764aa666193cfc2656059b3b349b956fb22a
parentaa8a9ccedaa186d9b4d9e6c7bd8e8b0585b198a3 (diff)
parentf658b2d8b3d83e82dcb32f5cffdbc9ccbb46f8fc (diff)
downloadnative-5b788aa514935cc3785e93669bbd96cb347d5f08.tar.gz
[automerger] Free mObjects if no objects left to realloc on resize am: edd3e3d8f4 am: c0394a6662 am: fbdb526a6a am: 40d0133f6d am: 5ab710e476 am: c1aa15f04d am: bfb94faeac
am: f658b2d8b3 Change-Id: Ib5613a17fa841e618c04030c4aebbe20fbb30107
-rw-r--r--libs/binder/Parcel.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index 8e206f501f..3c6603ebc1 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -2709,10 +2709,16 @@ status_t Parcel::continueWrite(size_t desired)
}
release_object(proc, *flat, this, &mOpenAshmemSize);
}
- binder_size_t* objects =
- (binder_size_t*)realloc(mObjects, objectsSize*sizeof(binder_size_t));
- if (objects) {
- mObjects = objects;
+
+ if (objectsSize == 0) {
+ free(mObjects);
+ mObjects = nullptr;
+ } else {
+ binder_size_t* objects =
+ (binder_size_t*)realloc(mObjects, objectsSize*sizeof(binder_size_t));
+ if (objects) {
+ mObjects = objects;
+ }
}
mObjectsSize = objectsSize;
mNextObjectHint = 0;