diff options
author | Winson <chiuwinson@google.com> | 2019-04-03 15:50:36 -0700 |
---|---|---|
committer | Winson <chiuwinson@google.com> | 2019-04-03 16:00:52 -0700 |
commit | 89bb24e4cf510ef743667ad3aa719d960d7fde3d (patch) | |
tree | 5459039b71c1d61de74b21ecccd36a50a5137e64 /libs/androidfw/Asset.cpp | |
parent | 055d58ae207605f58e6a6aa6584279a38315d7ba (diff) |
Fix remaining pointer leaks in Asset.cpp
Follow up from comment in ag/6761240
Test: none
Change-Id: Ib6a52b3fe13b4eb00b363ee720196fe0bfdfbb94
Diffstat (limited to 'libs/androidfw/Asset.cpp')
-rw-r--r-- | libs/androidfw/Asset.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/androidfw/Asset.cpp b/libs/androidfw/Asset.cpp index 9a95fdf80cb5..92125c9da8bb 100644 --- a/libs/androidfw/Asset.cpp +++ b/libs/androidfw/Asset.cpp @@ -253,8 +253,10 @@ Asset::Asset(void) pAsset = new _FileAsset; result = pAsset->openChunk(NULL, fd, offset, length); - if (result != NO_ERROR) + if (result != NO_ERROR) { + delete pAsset; return NULL; + } pAsset->mAccessMode = mode; return pAsset; @@ -273,8 +275,10 @@ Asset::Asset(void) pAsset = new _CompressedAsset; result = pAsset->openChunk(fd, offset, compressionMethod, uncompressedLen, compressedLen); - if (result != NO_ERROR) + if (result != NO_ERROR) { + delete pAsset; return NULL; + } pAsset->mAccessMode = mode; return pAsset; @@ -328,8 +332,10 @@ Asset::Asset(void) pAsset = new _CompressedAsset; result = pAsset->openChunk(dataMap, uncompressedLen); - if (result != NO_ERROR) + if (result != NO_ERROR) { + delete pAsset; return NULL; + } pAsset->mAccessMode = mode; return pAsset; |