THRIFT-2879 TMemoryBuffer: using lua string in wrong way
diff --git a/lib/lua/TMemoryBuffer.lua b/lib/lua/TMemoryBuffer.lua
index 3d43686..78b2f5c 100644
--- a/lib/lua/TMemoryBuffer.lua
+++ b/lib/lua/TMemoryBuffer.lua
@@ -66,7 +66,7 @@
     len = avail
   end
 
-  local val = string.sub(self.buffer, self.rPos, len)
+  local val = string.sub(self.buffer, self.rPos + 1, self.rPos + len)
   self.rPos = self.rPos + len
   return val
 end
@@ -84,8 +84,8 @@
 end
 
 function TMemoryBuffer:write(buf)
-  self.buffer = self.buffer + buf
-  self.wPos = self.wPos + buf
+  self.buffer = self.buffer .. buf
+  self.wPos = self.wPos + string.len(buf)
 end
 
 function TMemoryBuffer:flush() end