commit | 9ce1fd9aee00e15abcd81b671594881ee9e1e5c3 | [log] [tgz] |
---|---|---|
author | James E. King, III <jking@apache.org> | Sat Sep 23 21:20:08 2017 -0700 |
committer | James E. King, III <jking@apache.org> | Sun Sep 24 05:59:35 2017 -0700 |
tree | 63e46349fbf0757944a2846a51eebcde69023a33 | |
parent | eb7b76d32c425f19d49d056d972cd20a9661a6d1 [diff] |
THRIFT-4049, THRIFT-4053: when skipping, if field type is invalid, throw a protocol exception of invalid data instead of doing nothing which could cause a loop Client: C++, java This closes #1371
diff --git a/lib/cpp/src/thrift/protocol/TProtocol.h b/lib/cpp/src/thrift/protocol/TProtocol.h index 2a9d07b..aa5beea 100644 --- a/lib/cpp/src/thrift/protocol/TProtocol.h +++ b/lib/cpp/src/thrift/protocol/TProtocol.h
@@ -753,6 +753,8 @@ case T_UTF8: case T_UTF16: break; + default: + throw TProtocolException(TProtocolException::INVALID_DATA); } return 0; }
diff --git a/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java b/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java index b76f8ea..cdaa30b 100644 --- a/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java +++ b/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java
@@ -141,7 +141,8 @@ break; default: - break; + throw new TProtocolException(TProtocolException.INVALID_DATA, + "Unrecognized type " + type); } }