diff options
author | Android Build Merger (Role) <noreply-android-build-merger@google.com> | 2019-06-27 17:12:49 +0000 |
---|---|---|
committer | Android Build Merger (Role) <noreply-android-build-merger@google.com> | 2019-06-27 17:12:49 +0000 |
commit | 40d0133f6d3d79600968781ab766dbd520336f3d (patch) | |
tree | 5f3a2443b117309b47002559f239b595fc77abb8 | |
parent | 366747cdcfc76bd9587fdfe304b9fb71fe5ce350 (diff) | |
parent | fbdb526a6ab454a66ececf7a5d4827e6dc74dc2b (diff) | |
download | native-40d0133f6d3d79600968781ab766dbd520336f3d.tar.gz |
[automerger] Free mObjects if no objects left to realloc on resize am: edd3e3d8f4 am: c0394a6662 am: fbdb526a6a
Change-Id: I8fa8c7a64666f44daa3ca4cab5398fd725fac950
-rw-r--r-- | libs/binder/Parcel.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index e9c26ea9ad..fe6f3dff42 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -2549,10 +2549,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; |