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

Commit 79c38fab authored by Iurii Makhno's avatar Iurii Makhno Committed by Android (Google) Code Review
Browse files

Merge "Ensure library file starts with 'lib/' prefix."

parents f00e5d00 a30d8baf
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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;
+6 −0
Original line number Diff line number Diff line
@@ -74,4 +74,10 @@ TEST(ApkParsingTest, InvalidFileAtRoot) {
  auto lastSlash = util::ValidLibraryPathLastSlash(path, false, false);
  ASSERT_THAT(lastSlash, IsNull());
}

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