NativeLibraryHelper: Minor fixes

Skip over directories when iterating library files. Ensure correct
temp file naming.

Bug: 33668201
Test: m
Test: Device boots
Test: Manual: Install debuggable and non-debuggable apps
Change-Id: I2f0547e965d9a0c478e333a13b2db02f4eedac2c
This commit is contained in:
Andreas Gampe
2016-12-15 16:12:39 -08:00
parent 441bfc6718
commit c012ae3815

View File

@@ -243,7 +243,7 @@ copyFileIfChanged(JNIEnv *env, void* arg, ZipFileRO* zipFile, ZipEntryRO zipEntr
return INSTALL_FAILED_INTERNAL_ERROR;
}
*(localFileName + nativeLibPath.size()) = '/';
*(localTmpFileName + nativeLibPath.size()) = '/';
if (strlcpy(localTmpFileName + nativeLibPath.size(), TMP_FILE_PATTERN,
TMP_FILE_PATTERN_LEN - nativeLibPath.size()) != TMP_FILE_PATTERN_LEN) {
@@ -344,6 +344,11 @@ public:
const char* lastSlash = strrchr(fileName, '/');
ALOG_ASSERT(lastSlash != NULL, "last slash was null somehow for %s\n", fileName);
// Skip directories.
if (*(lastSlash + 1) == 0) {
continue;
}
// Make sure the filename is safe.
if (!isFilenameSafe(lastSlash + 1)) {
continue;