diff options
Diffstat (limited to 'lib/go/thrift/compact_protocol.go')
-rw-r--r-- | lib/go/thrift/compact_protocol.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/go/thrift/compact_protocol.go b/lib/go/thrift/compact_protocol.go index a49225dab..e0de07700 100644 --- a/lib/go/thrift/compact_protocol.go +++ b/lib/go/thrift/compact_protocol.go @@ -477,8 +477,8 @@ func (p *TCompactProtocol) ReadMapBegin(ctx context.Context) (keyType TType, val err = NewTProtocolException(e) return } - if size32 < 0 { - err = invalidDataLength + err = checkSizeForProtocol(size32, p.cfg) + if err != nil { return } size = int(size32) @@ -513,12 +513,12 @@ func (p *TCompactProtocol) ReadListBegin(ctx context.Context) (elemType TType, s err = NewTProtocolException(e) return } - if size2 < 0 { - err = invalidDataLength - return - } size = int(size2) } + err = checkSizeForProtocol(size32, p.cfg) + if err != nil { + return + } elemType, e := p.getTType(tCompactType(size_and_type)) if e != nil { err = NewTProtocolException(e) |