From 28e663cbed28fb6c8c8dec0849e0277daf67651b Mon Sep 17 00:00:00 2001 From: Todd Kennedy Date: Thu, 12 Jul 2018 13:15:54 -0700 Subject: 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 --- libs/androidfw/LoadedArsc.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libs/androidfw/LoadedArsc.cpp') 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 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 LoadedArsc::Load(const StringPiece& data, if (iter.HadError()) { LOG(ERROR) << iter.GetLastError(); - return {}; + if (iter.HadFatalError()) { + return {}; + } } // Need to force a move for mingw32. -- cgit v1.2.3-59-g8ed1b