diff options
Diffstat (limited to 'libs/androidfw/ApkParsing.cpp')
-rw-r--r-- | libs/androidfw/ApkParsing.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/androidfw/ApkParsing.cpp b/libs/androidfw/ApkParsing.cpp index 32d2c5b05acb..7eedfdb5c921 100644 --- a/libs/androidfw/ApkParsing.cpp +++ b/libs/androidfw/ApkParsing.cpp @@ -56,6 +56,11 @@ const char* ValidLibraryPathLastSlash(const char* fileName, bool suppress64Bit, return nullptr; } + // Make sure file starts with 'lib/' prefix. + if (strncmp(fileName, APK_LIB.data(), APK_LIB_LEN) != 0) { + return nullptr; + } + // 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; |