Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c574f5ca authored by Jeremy Meyer's avatar Jeremy Meyer Committed by Android (Google) Code Review
Browse files

Merge "Fix checking for subdirs when parsing apks"

parents 57455aa6 12312e07
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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;
    }

+6 −0
Original line number Diff line number Diff line
@@ -68,4 +68,10 @@ TEST(ApkParsingTest, InvalidSubdirectories) {
  auto lastSlash = util::ValidLibraryPathLastSlash(path, false, false);
  ASSERT_THAT(lastSlash, IsNull());
}

TEST(ApkParsingTest, InvalidFileAtRoot) {
  const char* path = "lib/library.so";
  auto lastSlash = util::ValidLibraryPathLastSlash(path, false, false);
  ASSERT_THAT(lastSlash, IsNull());
}
}
 No newline at end of file