You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Christopher Friedt (Jira)" <ji...@apache.org> on 2020/02/14 15:57:00 UTC

[jira] [Created] (THRIFT-5093) TMemoryBuffer constructor initializes wpos incorrectly

Christopher Friedt created THRIFT-5093:
------------------------------------------

             Summary: TMemoryBuffer constructor initializes wpos incorrectly
                 Key: THRIFT-5093
                 URL: https://issues.apache.org/jira/browse/THRIFT-5093
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.13.0, 0.12.0, 0.11.0, 0.10.0
            Reporter: Christopher Friedt


The third constructor of TMemoryBuffer incorrectly initializes the write pointer (wpos) to be at the end of the buffer instead of at the front when it calls initCommon(). Looking at references to initCommon(), the wpos parameter is initialized to 0 everywhere else it is used.

https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TBufferTransports.h#L535

That causes the branch below to never be taken and therefore data is never written to the buffer.

https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/transport/TBufferTransports.h#L98

It's a simple one-line fix. Will submit a PR in GitHub.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)