summaryrefslogtreecommitdiff
path: root/libs/androidfw/LoadedArsc.cpp
diff options
context:
space:
mode:
author Todd Kennedy <toddke@google.com> 2018-07-12 13:15:54 -0700
committer Todd Kennedy <toddke@google.com> 2018-07-16 20:52:55 +0000
commit28e663cbed28fb6c8c8dec0849e0277daf67651b (patch)
tree7d0ddd6373a15fbbf69f878c61eafc571c2eccea /libs/androidfw/LoadedArsc.cpp
parent4ab42d5b8aa2cb2e36f46b34962dd23832f45280 (diff)
Loosen resource file verification
Bug: 77808145 Test: Tried to install corrupt APK prior to the change, install failed Test: Tried to install corrupt APK after the change, install succeeded Test: atest CtsAppSecurityHostTestCases:CorruptApkTests Change-Id: I19a69e52a17c1080beaf2cc575c32f564b1033a3
Diffstat (limited to 'libs/androidfw/LoadedArsc.cpp')
-rw-r--r--libs/androidfw/LoadedArsc.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/androidfw/LoadedArsc.cpp b/libs/androidfw/LoadedArsc.cpp
index 04d506a2d71c..c2740c9fbaa4 100644
--- a/libs/androidfw/LoadedArsc.cpp
+++ b/libs/androidfw/LoadedArsc.cpp
@@ -560,7 +560,9 @@ std::unique_ptr<const LoadedPackage> LoadedPackage::Load(const Chunk& chunk,
if (iter.HadError()) {
LOG(ERROR) << iter.GetLastError();
- return {};
+ if (iter.HadFatalError()) {
+ return {};
+ }
}
// Flatten and construct the TypeSpecs.
@@ -641,7 +643,9 @@ bool LoadedArsc::LoadTable(const Chunk& chunk, const LoadedIdmap* loaded_idmap,
if (iter.HadError()) {
LOG(ERROR) << iter.GetLastError();
- return false;
+ if (iter.HadFatalError()) {
+ return false;
+ }
}
return true;
}
@@ -673,7 +677,9 @@ std::unique_ptr<const LoadedArsc> LoadedArsc::Load(const StringPiece& data,
if (iter.HadError()) {
LOG(ERROR) << iter.GetLastError();
- return {};
+ if (iter.HadFatalError()) {
+ return {};
+ }
}
// Need to force a move for mingw32.