THRIFT-516. rb: If TFramedTransport reads a negative frame size, throw a TTransportException descendant instead of the default NegativeArraySizeException

Throw a TTransportException when the frame size read from the wire is < 0.



git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@777690 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/src/org/apache/thrift/transport/TFramedTransport.java b/lib/java/src/org/apache/thrift/transport/TFramedTransport.java
index c83748a..3600a2b 100644
--- a/lib/java/src/org/apache/thrift/transport/TFramedTransport.java
+++ b/lib/java/src/org/apache/thrift/transport/TFramedTransport.java
@@ -96,6 +96,10 @@
       ((i32rd[2] & 0xff) <<  8) |
       ((i32rd[3] & 0xff));
 
+    if (size < 0) {
+      throw new TTransportException("Read a negative frame size (" + size + ")!");
+    }
+    
     byte[] buff = new byte[size];
     transport_.readAll(buff, 0, size);
     readBuffer_ = new ByteArrayInputStream(buff);