THRIFT-402. rb: MemoryBuffer > 4096 bytes will truncate remaining bytes
authorBryan Duxbury <bryanduxbury@apache.org>
Tue, 24 Mar 2009 21:10:14 +0000 (21:10 +0000)
committerBryan Duxbury <bryanduxbury@apache.org>
Tue, 24 Mar 2009 21:10:14 +0000 (21:10 +0000)
This patch fixes the issue, preserving the remaining bytes.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758024 13f79535-47bb-0310-9956-ffa450edef68

lib/rb/ext/memory_buffer.c

index bf11d91..e37c787 100644 (file)
@@ -49,7 +49,7 @@ VALUE rb_thrift_memory_buffer_read(VALUE self, VALUE length_value) {
     index = RSTRING(buf)->len;
   }
   if (index >= GARBAGE_BUFFER_SIZE) {
-    rb_ivar_set(self, buf_ivar_id, rb_funcall(buf, slice_method_id, 2, INT2FIX(index), INT2FIX(-1)));
+    rb_ivar_set(self, buf_ivar_id, rb_funcall(buf, slice_method_id, 2, INT2FIX(index), INT2FIX(RSTRING(buf)->len - 1)));
     index = 0;
   }