You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Peace C (Created) (JIRA)" <ji...@apache.org> on 2012/02/23 20:36:49 UTC

[jira] [Created] (THRIFT-1522) TServerSocket potential memory leak with addrinfo *res0

TServerSocket potential memory leak with addrinfo *res0
-------------------------------------------------------

                 Key: THRIFT-1522
                 URL: https://issues.apache.org/jira/browse/THRIFT-1522
             Project: Thrift
          Issue Type: Bug
          Components: C# - Library
    Affects Versions: 0.8
         Environment: Unix, Windows
            Reporter: Peace C
            Priority: Minor
             Fix For: 0.9


I noticed a potential memory leak in TServerSocket.cpp. The res0 pointer receives an allocation from getaddrinfo() but is only freed part of the time in a conditional branch. It should be outside of the if-else to ensure it's deallocated every time.

I'm holding off on creating a patch in case I'm not understanding some hidden functionality in the socket library. Here is the code snippet:

  struct addrinfo *res0;
  ...
  getaddrinfo(NULL, port, &hints, &res0);
  ...
  if (! path_.empty())
  { ... }
  else
  {
    ...
    freeaddrinfo(res0); //Line 331 of TServerSocket.cpp
  }


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira