diff options
author | 2023-02-14 00:21:19 +0000 | |
---|---|---|
committer | 2023-02-14 22:55:00 +0000 | |
commit | 12312e073546b1dab9ee80c7ab28a4c55c3102a8 (patch) | |
tree | c3e2786dccbbf33c684cb1326b20b9e5a0ecd9c7 /libs/androidfw/ApkParsing.cpp | |
parent | 1a936d17c05c185dfa5794508564aa01514a08d9 (diff) |
Fix checking for subdirs when parsing apks
This fixes the check for subdirectories in lib paths. The old check
caused a crash.
Test: Automated
Fixes: 268582810
Change-Id: I520f1fd6772b11821e7c5c97bd51b45b603f5a7b
Diffstat (limited to 'libs/androidfw/ApkParsing.cpp')
-rw-r--r-- | libs/androidfw/ApkParsing.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libs/androidfw/ApkParsing.cpp b/libs/androidfw/ApkParsing.cpp index cf4fbb9b8462..32d2c5b05acb 100644 --- a/libs/androidfw/ApkParsing.cpp +++ b/libs/androidfw/ApkParsing.cpp @@ -56,10 +56,8 @@ const char* ValidLibraryPathLastSlash(const char* fileName, bool suppress64Bit, return nullptr; } - // Make sure there aren't subdirectories - const char* abiOffset = fileName + APK_LIB_LEN; - const size_t abiSize = lastSlash - abiOffset; - if (memchr(abiOffset, '/', abiSize)) { + // Make sure there aren't subdirectories by checking if the next / after lib/ is the last slash + if (memchr(fileName + APK_LIB_LEN, '/', fileNameLen - APK_LIB_LEN) != lastSlash) { return nullptr; } |