NPE in ScramSha1SaslServer#getStoredKey

Description

Running current master on Ignite, we see lots of these

2015.08.17 13:27:05 org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to error while processing message: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">Yz1iaXdzLHI9b3Y2azc4dDlpYzVlMHAxNDU3YnQ3YzA5YWU3ZC00ZWZkLTRhNTAtYThkMy01M2IyMTQwN2U2MmMscD01YXc3UEt3RlJaQ0dLeFl6T3pZTitPRE44MmM9</response> java.lang.NullPointerException at javax.xml.bind.DatatypeConverterImpl.guessLength(DatatypeConverterImpl.java:654) at javax.xml.bind.DatatypeConverterImpl._parseBase64Binary(DatatypeConverterImpl.java:692) at javax.xml.bind.DatatypeConverterImpl.parseBase64Binary(DatatypeConverterImpl.java:434) at javax.xml.bind.DatatypeConverter.parseBase64Binary(DatatypeConverter.java:342) at org.jivesoftware.openfire.sasl.ScramSha1SaslServer.getStoredKey(ScramSha1SaslServer.java:339) at org.jivesoftware.openfire.sasl.ScramSha1SaslServer.generateServerFinalMessage(ScramSha1SaslServer.java:185) at org.jivesoftware.openfire.sasl.ScramSha1SaslServer.evaluateResponse(ScramSha1SaslServer.java:114) at org.jivesoftware.openfire.net.SASLAuthentication.handle(SASLAuthentication.java:361) at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:177) at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:177) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:407) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:236) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765) at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:769) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:761) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:703) at java.lang.Thread.run(Thread.java:745)

Environment

None

Activity

Show:

Dave Cridland December 7, 2015 at 10:36 AM

Fixed by #427

Guus der Kinderen August 31, 2015 at 1:57 PM

This appears to be a simple case where a null-check is omitted. I've added some checks (see this PR: https://github.com/igniterealtime/Openfire/pull/286 ).

The check should be verified before closing this issue (I did not attempt to reproduce the issue).

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created August 18, 2015 at 5:21 PM
Updated December 7, 2015 at 10:36 AM
Resolved December 7, 2015 at 10:36 AM

Flag notifications