You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King III (JIRA)" <ji...@apache.org> on 2018/12/18 16:27:00 UTC

[jira] [Resolved] (THRIFT-4375) TMemory throw bad_alloc due to counter overflow

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

James E. King III resolved THRIFT-4375.
---------------------------------------
       Resolution: Fixed
         Assignee: James E. King III
    Fix Version/s: 0.11.0

Fixed with commit aded00b61 which is in 0.11.0

> TMemory throw bad_alloc due to counter overflow
> -----------------------------------------------
>
>                 Key: THRIFT-4375
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4375
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.10.0
>         Environment: Linux 64 bits rhel 7.3
>            Reporter: Jean-Noël Quintin
>            Assignee: James E. King III
>            Priority: Critical
>             Fix For: 0.11.0
>
>
> The buffer size named buffer size_ is stored on a uint32_t.
> When the size of transmis data is above  there is an overflow and throw a bad_alloc error.
> This come from the fact that the allocated size is a power of 2 and is multiplied by 2. At a time it reach 2^32 and ask for allocating a buffer with size 0.
> Then the allocation return NULL (normal) and the exception is throw.
> Thanks to take into account the issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)