summaryrefslogtreecommitdiffstats
path: root/dalvik
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2014-07-10 11:35:38 +0100
committerCalin Juravle <calin@google.com>2014-07-16 17:59:11 +0100
commit71202f8ed84edc6ab57e7b6c26f0a1ec97d5adc6 (patch)
tree5ab6ff2c0dc54560e3cb6e02dd1055729f3ca79c /dalvik
parentc876cd0510be10a751e5679420bd35889c0b0af9 (diff)
downloadlibcore-71202f8ed84edc6ab57e7b6c26f0a1ec97d5adc6.zip
libcore-71202f8ed84edc6ab57e7b6c26f0a1ec97d5adc6.tar.gz
libcore-71202f8ed84edc6ab57e7b6c26f0a1ec97d5adc6.tar.bz2
Use the provided path when opening dex files.
Previously we would use the canonical path. If the path contains symlinks it may generate the wrong file name when searching for the containing oat file. This is because we don't apply any canonicalization when dex files are generated so we think we're looking for somthing else. Bug: 15563230 Change-Id: I5923bdd2520a91019102ef6256d4c97fd5b499df
Diffstat (limited to 'dalvik')
-rw-r--r--dalvik/src/main/java/dalvik/system/DexFile.java16
1 files changed, 5 insertions, 11 deletions
diff --git a/dalvik/src/main/java/dalvik/system/DexFile.java b/dalvik/src/main/java/dalvik/system/DexFile.java
index 5a9c01a..8c78312 100644
--- a/dalvik/src/main/java/dalvik/system/DexFile.java
+++ b/dalvik/src/main/java/dalvik/system/DexFile.java
@@ -281,21 +281,15 @@ public final class DexFile {
}
}
- /*
- * Open a DEX file. The value returned is a magic VM cookie. On
- * failure, an IOException is thrown.
- */
- private static long openDexFile(String sourceName, String outputName, int flags) throws IOException {
- return openDexFileNative(new File(sourceName).getCanonicalPath(),
- (outputName == null) ? null : new File(outputName).getCanonicalPath(),
- flags);
- }
-
private static native void closeDexFile(long cookie);
private static native Class defineClassNative(String name, ClassLoader loader, long cookie)
throws ClassNotFoundException, NoClassDefFoundError;
private static native String[] getClassNameList(long cookie);
- private static native long openDexFileNative(String sourceName, String outputName, int flags);
+ /*
+ * Open a DEX file. The value returned is a magic VM cookie. On
+ * failure, an IOException is thrown.
+ */
+ private static native long openDexFile(String sourceName, String outputName, int flags);
/**
* Returns true if the VM believes that the apk/jar file is out of date