Base64Utils.decode should handle/wrap all exception types.
----------------------------------------------------------
Key: CXF-2785
URL: https://issues.apache.org/jira/browse/CXF-2785
Project: CXF
Issue Type: Bug
Components: Core
Affects Versions: 2.2.6
Reporter: Stan Lewis
Attachments: patch.txt
Currently if you pass an invalid base64 encoded string to Base64Utils.decode()
you can get various kinds of errors, as the code only catches at most
IOException and converts that to a Base64Exception. Should really catch
Exception and log it appropriately to avoid seeing errors at runtime like this:
java.lang.ArrayIndexOutOfBoundsException: 8
at
org.apache.cxf.common.util.Base64Utility.processEncodeme(Base64Utility.java:345)
at
org.apache.cxf.common.util.Base64Utility.decodeChunk(Base64Utility.java:164)
at
org.apache.cxf.common.util.Base64Utility.decode(Base64Utility.java:180)
at
org.apache.cxf.transport.http.AbstractHTTPDestination.setHeaders(AbstractHTTPDestination.java:147)
at
org.apache.cxf.transport.http.AbstractHTTPDestination.setupMessage(AbstractHTTPDestination.java:333)
at
org.apache.cxf.transport.http.AbstractHTTPDestination.setupMessage(AbstractHTTPDestination.java:270)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
...
The attached patch does this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.