diff options
author | Ryan Mitchell <rtmitchell@google.com> | 2020-12-14 20:42:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-12-14 20:42:03 +0000 |
commit | 314863c132479b108f0ce61a5a753123cd3a15ca (patch) | |
tree | 8c2c62e7f5964b3ed503f1f2c753d0850ac70dec /libs/androidfw/AssetManager.cpp | |
parent | 2991744d472491889d9ba465c8f96c1022af5df0 (diff) | |
parent | a45506e6f6619f59ce1ae94b20ad377b86966be0 (diff) |
Merge changes from topic "inc-hard-am"
* changes:
Revert^2 "Cache resolved theme values"
Set resource id correctly when resolve fails
Revert^2 "libandroidfw hardening for IncFs"
idmap2: remove call to obsolete 'idmap2 verify' from valgrind.sh
idmap2: remove the 'scan' command
Diffstat (limited to 'libs/androidfw/AssetManager.cpp')
-rw-r--r-- | libs/androidfw/AssetManager.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libs/androidfw/AssetManager.cpp b/libs/androidfw/AssetManager.cpp index f7c83371f79c..fb2b57193b83 100644 --- a/libs/androidfw/AssetManager.cpp +++ b/libs/androidfw/AssetManager.cpp @@ -917,7 +917,7 @@ Asset* AssetManager::openAssetFromFileLocked(const String8& pathName, Asset* AssetManager::openAssetFromZipLocked(const ZipFileRO* pZipFile, const ZipEntryRO entry, AccessMode mode, const String8& entryName) { - Asset* pAsset = NULL; + std::unique_ptr<Asset> pAsset; // TODO: look for previously-created shared memory slice? uint16_t method; @@ -932,28 +932,28 @@ Asset* AssetManager::openAssetFromZipLocked(const ZipFileRO* pZipFile, return NULL; } - FileMap* dataMap = pZipFile->createEntryFileMap(entry); - if (dataMap == NULL) { + std::optional<incfs::IncFsFileMap> dataMap = pZipFile->createEntryIncFsFileMap(entry); + if (!dataMap.has_value()) { ALOGW("create map from entry failed\n"); return NULL; } if (method == ZipFileRO::kCompressStored) { - pAsset = Asset::createFromUncompressedMap(dataMap, mode); + pAsset = Asset::createFromUncompressedMap(std::move(*dataMap), mode); ALOGV("Opened uncompressed entry %s in zip %s mode %d: %p", entryName.string(), - dataMap->getFileName(), mode, pAsset); + dataMap->file_name(), mode, pAsset.get()); } else { - pAsset = Asset::createFromCompressedMap(dataMap, + pAsset = Asset::createFromCompressedMap(std::move(*dataMap), static_cast<size_t>(uncompressedLen), mode); ALOGV("Opened compressed entry %s in zip %s mode %d: %p", entryName.string(), - dataMap->getFileName(), mode, pAsset); + dataMap->file_name(), mode, pAsset.get()); } if (pAsset == NULL) { /* unexpected */ ALOGW("create from segment failed\n"); } - return pAsset; + return pAsset.release(); } /* |