summaryrefslogtreecommitdiff
path: root/libs/androidfw/Asset.cpp
diff options
context:
space:
mode:
authorWinson <chiuwinson@google.com>2019-04-03 15:50:36 -0700
committerWinson <chiuwinson@google.com>2019-04-03 16:00:52 -0700
commit89bb24e4cf510ef743667ad3aa719d960d7fde3d (patch)
tree5459039b71c1d61de74b21ecccd36a50a5137e64 /libs/androidfw/Asset.cpp
parent055d58ae207605f58e6a6aa6584279a38315d7ba (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.cpp12
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;