-
Bug
-
Resolution: Fixed
-
P3
-
7u76
-
b01
-
Verified
The following code snippet causes failure if the file 'filename' size is greater than 1G:
FileInputStream in = new FileInputStream(fileName);
XMLSignatureInput a = new XMLSignatureInput(in);
a.getOctetStream(); // OutOfMemoryError occurs at this line.
Stack trace with failure:
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at com.sun.org.apache.xml.internal.security.utils.UnsyncByteArrayOutputStream.expandSize(UnsyncByteArrayOutputStream.java:100)
at com.sun.org.apache.xml.internal.security.utils.UnsyncByteArrayOutputStream.write(UnsyncByteArrayOutputStream.java:64)
at com.sun.org.apache.xml.internal.security.utils.JavaUtils.getBytesFromStream(JavaUtils.java:125)
at com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.getResetableInputStream(XMLSignatureInput.java:565)
at com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.getOctetStream(XMLSignatureInput.java:272)
at Main.main(Main.java:10)
FileInputStream in = new FileInputStream(fileName);
XMLSignatureInput a = new XMLSignatureInput(in);
a.getOctetStream(); // OutOfMemoryError occurs at this line.
Stack trace with failure:
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at com.sun.org.apache.xml.internal.security.utils.UnsyncByteArrayOutputStream.expandSize(UnsyncByteArrayOutputStream.java:100)
at com.sun.org.apache.xml.internal.security.utils.UnsyncByteArrayOutputStream.write(UnsyncByteArrayOutputStream.java:64)
at com.sun.org.apache.xml.internal.security.utils.JavaUtils.getBytesFromStream(JavaUtils.java:125)
at com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.getResetableInputStream(XMLSignatureInput.java:565)
at com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.getOctetStream(XMLSignatureInput.java:272)
at Main.main(Main.java:10)
- relates to
-
JDK-8011547 Update XML Signature implementation to Apache Santuario 1.5.4
-
- Closed
-
-
JDK-8132858 Can not delete a payload file after running XMLSignature.validate
-
- Closed
-