Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4225

Error handling malformed arguments leaks memory, corrupts transport buffers causing next RPC to fail

    XMLWordPrintableJSON

Details

    Description

      This issue is related to THRIFT-2997. I have a workaround here, but it's only possible because I'm wrapping all thrift client calls anyway.

      If the arguments to a thrift client method are malformed, the transport throws an error while writing the arguments to its buffers. Unfortunately, the buffers aren't reset (as would happen in flush), and the next RPC call will fail if any values were already written. Additionally, the callback isn't dereferenced from the client's _reqs table, leaking memory.

      From what I understand, this problem would need to be addressed in both the node lib and compiler.

      Attachments

        Issue Links

          Activity

            People

              jking3 James E. King III
              paul.e.taylor Paul Taylor
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: