summaryrefslogtreecommitdiff
path: root/java/openjdk6/files/icedtea/security/20130201/8000210.patch
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2013-10-09 20:36:06 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2013-10-09 20:36:06 +0000
commitf78b1b9ba06ffbbdecee2801917443f79011f134 (patch)
treefc3ef7699ec2d5dff96245bc6d90117d597fb678 /java/openjdk6/files/icedtea/security/20130201/8000210.patch
parentBump PORTREVISION after plist change (diff)
Update to Build b28.
Diffstat (limited to 'java/openjdk6/files/icedtea/security/20130201/8000210.patch')
-rw-r--r--java/openjdk6/files/icedtea/security/20130201/8000210.patch104
1 files changed, 0 insertions, 104 deletions
diff --git a/java/openjdk6/files/icedtea/security/20130201/8000210.patch b/java/openjdk6/files/icedtea/security/20130201/8000210.patch
deleted file mode 100644
index 28bcddfb2ab6..000000000000
--- a/java/openjdk6/files/icedtea/security/20130201/8000210.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-# HG changeset patch
-# User weijun
-# Date 1350962115 -28800
-# Node ID 9c2a2aae44a46e0b63b913987672d1488fa4e7a5
-# Parent 6088f35106866940de257456c8eee21b130d5ff5
-8000210: Improve JarFile code quality
-Reviewed-by: ahgross, xuelei, mschoene
-
-diff --git a/src/share/classes/java/util/jar/JarFile.java b/src/share/classes/java/util/jar/JarFile.java
---- jdk/src/share/classes/java/util/jar/JarFile.java
-+++ jdk/src/share/classes/java/util/jar/JarFile.java
-@@ -32,6 +32,7 @@ import java.security.CodeSigner;
- import java.security.CodeSigner;
- import java.security.cert.Certificate;
- import java.security.AccessController;
-+import sun.misc.IOUtils;
- import sun.security.action.GetPropertyAction;
- import sun.security.util.ManifestEntryVerifier;
- import sun.misc.SharedSecrets;
-@@ -326,6 +327,9 @@ class JarFile extends ZipFile {
- if (names != null) {
- for (int i = 0; i < names.length; i++) {
- JarEntry e = getJarEntry(names[i]);
-+ if (e == null) {
-+ throw new JarException("corrupted jar file");
-+ }
- if (!e.isDirectory()) {
- if (mev == null) {
- mev = new ManifestEntryVerifier
-@@ -345,6 +349,10 @@ class JarFile extends ZipFile {
- // treat the jar file as being unsigned
- jv = null;
- verify = false;
-+ if (JarVerifier.debug != null) {
-+ JarVerifier.debug.println("jarfile parsing error!");
-+ ex.printStackTrace();
-+ }
- }
-
- // if after initializing the verifier we have nothing
-@@ -372,9 +380,8 @@ class JarFile extends ZipFile {
- * META-INF files.
- */
- private byte[] getBytes(ZipEntry ze) throws IOException {
-- byte[] b = new byte[(int)ze.getSize()];
-- DataInputStream is = new DataInputStream(super.getInputStream(ze));
-- is.readFully(b, 0, b.length);
-+ InputStream is = super.getInputStream(ze);
-+ byte[] b = IOUtils.readFully(is, (int)ze.getSize(), true);
- is.close();
- return b;
- }
-@@ -476,12 +483,7 @@ class JarFile extends ZipFile {
- if (!isKnownToNotHaveClassPathAttribute()) {
- JarEntry manEntry = getManEntry();
- if (manEntry != null) {
-- byte[] b = new byte[(int)manEntry.getSize()];
-- DataInputStream dis = new DataInputStream(
-- super.getInputStream(manEntry));
-- dis.readFully(b, 0, b.length);
-- dis.close();
--
-+ byte[] b = getBytes(manEntry);
- int last = b.length - src.length;
- int i = 0;
- next:
-diff --git a/src/share/classes/sun/security/util/DerIndefLenConverter.java b/src/share/classes/sun/security/util/DerIndefLenConverter.java
---- jdk/src/share/classes/sun/security/util/DerIndefLenConverter.java
-+++ jdk/src/share/classes/sun/security/util/DerIndefLenConverter.java
-@@ -50,6 +50,7 @@ class DerIndefLenConverter {
-
- private byte[] data, newData;
- private int newDataPos, dataPos, dataSize, index;
-+ private int unresolved = 0;
-
- private ArrayList<Object> ndefsList = new ArrayList<Object>();
-
-@@ -113,6 +114,7 @@ class DerIndefLenConverter {
- numOfEncapsulatedLenBytes;
- byte[] sectionLenBytes = getLengthBytes(sectionLen);
- ndefsList.set(index, sectionLenBytes);
-+ unresolved--;
-
- // Add the number of bytes required to represent this section
- // to the total number of length bytes,
-@@ -149,6 +151,7 @@ class DerIndefLenConverter {
- int lenByte = data[dataPos++] & 0xff;
- if (isIndefinite(lenByte)) {
- ndefsList.add(new Integer(dataPos));
-+ unresolved++;
- return curLen;
- }
- if (isLongForm(lenByte)) {
-@@ -316,6 +319,10 @@ class DerIndefLenConverter {
- parseValue(len);
- }
-
-+ if (unresolved != 0) {
-+ throw new IOException("not all indef len BER resolved");
-+ }
-+
- newData = new byte[dataSize + numOfTotalLenBytes];
- dataPos=0; newDataPos=0; index=0;
-