You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/02/11 23:26:19 UTC

svn commit: r1897986 - in /xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl: richParser/XMLStreamReaderExtImpl.java values/JavaBase64Holder.java

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: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org