--- a/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Fri Oct 09 09:33:54 2015 +0800
+++ b/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Fri Oct 09 14:21:02 2015 +0100
@@ -37,7 +37,6 @@
import java.security.AccessController;
import java.security.CodeSource;
import jdk.internal.misc.SharedSecrets;
-import sun.misc.IOUtils;
import sun.security.action.GetPropertyAction;
import sun.security.util.ManifestEntryVerifier;
import sun.security.util.SignatureFileVerifier;
@@ -438,7 +437,12 @@
*/
private byte[] getBytes(ZipEntry ze) throws IOException {
try (InputStream is = super.getInputStream(ze)) {
- return IOUtils.readFully(is, (int)ze.getSize(), true);
+ int len = (int)ze.getSize();
+ byte[] b = is.readAllBytes();
+ if (len != -1 && b.length != len)
+ throw new EOFException("Expected:" + len + ", read:" + b.length);
+
+ return b;
}
}