Author: fanningpj
Date: Fri Feb 11 23:26:19 2022
New Revision: 1897986
URL: http://svn.apache.org/viewvc?rev=1897986&view=rev
Log:
[XMLBEANS-599] base64 binary decoding issue
Modified:
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/richParser/XMLStreamReaderExtImpl.java
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaBase64Holder.java
Modified:
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/richParser/XMLStreamReaderExtImpl.java
URL:
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/richParser/XMLStreamReaderExtImpl.java?rev=1897986&r1=1897985&r2=1897986&view=diff
==============================================================================
---
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/richParser/XMLStreamReaderExtImpl.java
(original)
+++
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/richParser/XMLStreamReaderExtImpl.java
Fri Feb 11 23:26:19 2022
@@ -182,7 +182,7 @@ public class XMLStreamReaderExtImpl
throws XMLStreamException, InvalidLexicalValueException {
_charSeq.reload(CharSeqTrimWS.XMLWHITESPACE_TRIM);
String text = _charSeq.toString();
- byte[] buf =
Base64.getDecoder().decode(text.getBytes(StandardCharsets.ISO_8859_1));
+ byte[] buf =
Base64.getMimeDecoder().decode(text.getBytes(StandardCharsets.ISO_8859_1));
if (buf != null) {
return new ByteArrayInputStream(buf);
} else {
@@ -332,7 +332,7 @@ public class XMLStreamReaderExtImpl
public InputStream getAttributeBase64Value(int index) throws
XMLStreamException {
String text = _charSeq.reloadAtt(index,
CharSeqTrimWS.XMLWHITESPACE_TRIM).toString();
- byte[] buf =
Base64.getDecoder().decode(text.getBytes(StandardCharsets.ISO_8859_1));
+ byte[] buf =
Base64.getMimeDecoder().decode(text.getBytes(StandardCharsets.ISO_8859_1));
if (buf != null) {
return new ByteArrayInputStream(buf);
} else {
@@ -486,7 +486,7 @@ public class XMLStreamReaderExtImpl
public InputStream getAttributeBase64Value(String uri, String local)
throws XMLStreamException {
CharSequence cs = _charSeq.reloadAtt(uri, local,
CharSeqTrimWS.XMLWHITESPACE_TRIM);
String text = cs.toString();
- byte[] buf =
Base64.getDecoder().decode(text.getBytes(StandardCharsets.ISO_8859_1));
+ byte[] buf =
Base64.getMimeDecoder().decode(text.getBytes(StandardCharsets.ISO_8859_1));
if (buf != null) {
return new ByteArrayInputStream(buf);
} else {
@@ -543,7 +543,7 @@ public class XMLStreamReaderExtImpl
}
/**
- * Only trims the XML whaitspace at edges, it should not be used for WS
collapse
+ * Only trims the XML whitespace at edges, it should not be used for WS
collapse
* Used for int, short, byte
*/
private static class CharSeqTrimWS
Modified:
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaBase64Holder.java
URL:
http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaBase64Holder.java?rev=1897986&r1=1897985&r2=1897986&view=diff
==============================================================================
---
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaBase64Holder.java
(original)
+++
xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/values/JavaBase64Holder.java
Fri Feb 11 23:26:19 2022
@@ -58,7 +58,7 @@ public abstract class JavaBase64Holder e
public static byte[] lex(String v, ValidationContext c) {
try {
- return Base64.getDecoder().decode(v);
+ return Base64.getMimeDecoder().decode(v);
} catch (IllegalArgumentException e) {
// TODO - get a decent error with line numbers and such here
c.invalid(XmlErrorCodes.BASE64BINARY, new Object[]{"not encoded
properly"});
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]