[ 
https://issues.apache.org/jira/browse/THRIFT-6071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer reassigned THRIFT-6071:
----------------------------------

    Assignee: Jens Geyer

> Validate container size fits int32 range before narrowing conversion in 
> TSimpleJSONProtocol
> -------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-6071
>                 URL: https://issues.apache.org/jira/browse/THRIFT-6071
>             Project: Thrift
>          Issue Type: Bug
>          Components: Go - Library
>            Reporter: Jens Geyer
>            Assignee: Jens Geyer
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> ParseElemListBegin reads the list/set element count as int64 via ParseI64, 
> but passes int32(nSize) to checkSizeForProtocol. Values larger than 
> math.MaxInt32 silently truncate before the check, so the truncated value may 
> pass while the full int64 is stored in size and used by generated code for 
> container preallocation.
> ReadListBegin and ReadSetBegin both delegate to ParseElemListBegin and are 
> affected. binary_protocol, compact_protocol, and json_protocol read sizes as 
> int32 directly and are not affected.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to