Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
protonj2-1.0.0-M19
-
None
Description
When reading a transfer payload and attempting to decode, if the payload was split across frames and is carried in a composite buffer an exception can occur if the Data section in the body carries a null instead of an encoded Binary type.
Caused by: org.apache.qpid.protonj2.client.exceptions.ClientException: Index 1 out of bounds for length 1 at org.apache.qpid.protonj2.client.impl.ClientExceptionSupport.createNonFatalOrPassthrough( ClientExceptionSupport.java:103) at org.apache.qpid.protonj2.client.impl.ClientMessageSupport.decodeMessage( ClientMessageSupport.java:170) at org.apache.qpid.protonj2.client.impl.ClientMessageSupport.decodeMessage( ClientMessageSupport.java:152) at org.apache.qpid.protonj2.client.impl.ClientDelivery.message( ClientDelivery.java:79) at com.thisisnumero.smartagent.gateway.inbound.sources.background.amqp.AMQPMessageConsumerImpl.internalConsumeMessages( AMQPMessageConsumerImpl.java:53) ... 4 more Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at org.apache.qpid.protonj2.buffer.impl.ProtonCompositeBufferImpl.findChunkWithIndex( ProtonCompositeBufferImpl.java:1530) at org.apache.qpid.protonj2.buffer.impl.ProtonCompositeBufferImpl.copyInto( ProtonCompositeBufferImpl.java:387) at org.apache.qpid.protonj2.codec.decoders.messaging.DataTypeDecoder.readValue( DataTypeDecoder.java:85) at org.apache.qpid.protonj2.codec.decoders.messaging.DataTypeDecoder.readValue( DataTypeDecoder.java:40) at org.apache.qpid.protonj2.codec.decoders.ProtonDecoder.readObject( ProtonDecoder.java:192) at org.apache.qpid.protonj2.client.impl.ClientMessageSupport.decodeMessage( ClientMessageSupport.java:168)