THRIFT-5247 Avoiding meaningless System.copy
Client: java
Patch: Zezeng Wang
This closes #2196
diff --git a/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java b/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
index a28d254..d06fec7 100644
--- a/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
+++ b/lib/java/src/org/apache/thrift/transport/AutoExpandingBufferReadTransport.java
@@ -51,8 +51,10 @@
@Override
public final int read(byte[] target, int off, int len) throws TTransportException {
int amtToRead = Math.min(len, getBytesRemainingInBuffer());
- System.arraycopy(buf.array(), pos, target, off, amtToRead);
- consumeBuffer(amtToRead);
+ if(amtToRead > 0){
+ System.arraycopy(buf.array(), pos, target, off, amtToRead);
+ consumeBuffer(amtToRead);
+ }
return amtToRead;
}
@@ -81,4 +83,3 @@
return limit - pos;
}
}
-
\ No newline at end of file