diff options
author | Jeff Brown <jeffbrown@android.com> | 2013-05-29 19:01:17 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-05-29 19:01:17 -0700 |
commit | 255405eb19e6a3fa7f7bb4de9b07beacdf65ece9 (patch) | |
tree | 0d581ff1421da06e99a6a45e84871465c187ed7a | |
parent | 75765d3af58ad7ed97c0d646c936294ba861848f (diff) | |
parent | 86b2ecdd311fca2e1e4a3504bf96bb23c5630492 (diff) | |
download | frameworks_native-255405eb19e6a3fa7f7bb4de9b07beacdf65ece9.zip frameworks_native-255405eb19e6a3fa7f7bb4de9b07beacdf65ece9.tar.gz frameworks_native-255405eb19e6a3fa7f7bb4de9b07beacdf65ece9.tar.bz2 |
am 86b2ecdd: Merge "fix mem leak on error handling"
* commit '86b2ecdd311fca2e1e4a3504bf96bb23c5630492':
fix mem leak on error handling
-rw-r--r-- | libs/binder/Parcel.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 8f7f7e7..c7bdcbc 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -1472,6 +1472,8 @@ status_t Parcel::continueWrite(size_t desired) if (objectsSize) { objects = (size_t*)malloc(objectsSize*sizeof(size_t)); if (!objects) { + free(data); + mError = NO_MEMORY; return NO_MEMORY; } @@ -1552,7 +1554,7 @@ status_t Parcel::continueWrite(size_t desired) mError = NO_MEMORY; return NO_MEMORY; } - + if(!(mDataCapacity == 0 && mObjects == NULL && mObjectsCapacity == 0)) { ALOGE("continueWrite: %d/%p/%d/%d", mDataCapacity, mObjects, mObjectsCapacity, desired); |