You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2012/11/19 17:24:36 UTC
svn commit: r1411277 -
/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeWritableBuffer.java
Author: rgodfrey
Date: Mon Nov 19 16:24:35 2012
New Revision: 1411277
URL: http://svn.apache.org/viewvc?rev=1411277&view=rev
Log:
PROTON-146 : Simplified CompositeWritableBuffer impl to avoid help buffer overflow exceptions.
Modified:
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeWritableBuffer.java
Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeWritableBuffer.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeWritableBuffer.java?rev=1411277&r1=1411276&r2=1411277&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeWritableBuffer.java (original)
+++ qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/codec/CompositeWritableBuffer.java Mon Nov 19 16:24:35 2012
@@ -51,10 +51,15 @@ public class CompositeWritableBuffer imp
public void putShort(short s)
{
- if(_first.remaining() >= 2)
+ int remaining = _first.remaining();
+ if(remaining >= 2)
{
_first.putShort(s);
}
+ else if(remaining ==0 )
+ {
+ _second.putShort(s);
+ }
else
{
ByteBuffer wrap = ByteBuffer.wrap(new byte[2]);
@@ -65,10 +70,15 @@ public class CompositeWritableBuffer imp
public void putInt(int i)
{
- if(_first.remaining() >= 4)
+ int remaining = _first.remaining();
+ if(remaining >= 4)
{
_first.putInt(i);
}
+ else if(remaining ==0 )
+ {
+ _second.putInt(i);
+ }
else
{
ByteBuffer wrap = ByteBuffer.wrap(new byte[4]);
@@ -79,10 +89,15 @@ public class CompositeWritableBuffer imp
public void putLong(long l)
{
- if(_first.remaining() >= 8)
+ int remaining = _first.remaining();
+ if(remaining >= 8)
{
_first.putLong(l);
}
+ else if(remaining ==0 )
+ {
+ _second.putLong(l);
+ }
else
{
ByteBuffer wrap = ByteBuffer.wrap(new byte[8]);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org