You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Dominic Coyne (JIRA)" <ji...@apache.org> on 2018/08/13 09:24:00 UTC

[jira] [Created] (THRIFT-4620) TZlibTransport.cpp doesn't ensure that there is enough space for the zlib flush marker in the buffer.

Dominic Coyne created THRIFT-4620:
-------------------------------------

             Summary: TZlibTransport.cpp doesn't ensure that there is enough space for the zlib flush marker in the buffer.
                 Key: THRIFT-4620
                 URL: https://issues.apache.org/jira/browse/THRIFT-4620
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.9
            Reporter: Dominic Coyne


I asked [this question|https://stackoverflow.com/questions/51784225/how-does-thrift-handle-zlib-flush-markers-being-split-over-multiple-messages] on stack overflow related to a crash that I have been getting with Thrift.

The problem occurs when using TZlibTransport.cpp. After writing to the buffer a few times, we do a flush. If there isn't enough space in cwbuf_ , the Thrift flush marker is split across two messages, which causes an error in the client, as a deflate stream can't start with a partial flush marker, ff.

Thrift should assure that there will be enough space in the buffer for the complete flush marker, before a deflate.

 



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