[
https://issues.apache.org/jira/browse/THRIFT-6356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-6356.
--------------------------------
Fix Version/s: 0.26.0
Resolution: Fixed
> Python C extension sizes the first container allocation from the declared
> count when the message is buffered whole
> ------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-6356
> URL: https://issues.apache.org/jira/browse/THRIFT-6356
> Project: Thrift
> Issue Type: Bug
> Components: Python - Library
> Reporter: Jens Geyer
> Priority: Minor
> Fix For: 0.26.0
>
>
> {{initialContainerSize()}} in the fastbinary C extension held the first
> allocation of a list, set or tuple to {{kMaxInitialContainerSize}} only when
> the decode buffer could not report how many bytes were left. For a message
> buffered whole, the first allocation was sized from the declared element
> count. Follow-up to THRIFT-6169.
> Fixed on master by
> [420e9ca37|https://github.com/apache/thrift/commit/420e9ca37d820cad3796d01e3219b3ed22c3ba4b]:
> the same ceiling applies on every path. The first allocation is the smallest
> of the declared count, the bytes remaining and {{kMaxInitialContainerSize}},
> and a larger container grows as its elements are read.
> Reported by Sylwester Lachiewicz.
> _Drafted with AI assistance (Claude Opus 5); reviewed and posted by Jens
> Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)