[ https://issues.apache.org/jira/browse/THRIFT-2536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14536478#comment-14536478 ]
James E. King, III commented on THRIFT-2536: -------------------------------------------- If the link to the source code is accurate, line 309 doesn't look incorrect because path_ is a std::string so it cannot be uninitialized, but line 310 is definitely bizarre. I've never seen code attempt to get the size of a structure member by defining the pointer to the structure as NULL: {quote} if (len > sizeof(((sockaddr_un*)NULL)->sun_path)) { {quote} Is that what it is complaining about? I wonder if the unit tests exercise this code path... I guess we'll leave this open a bit longer for analysis. > new TSocket, uninitialised value reported by valgrind > ----------------------------------------------------- > > Key: THRIFT-2536 > URL: https://issues.apache.org/jira/browse/THRIFT-2536 > Project: Thrift > Issue Type: Bug > Components: C++ - Library > Affects Versions: 1.0 > Environment: BSD, Valgrind > Reporter: Christoph Wollgarten > Priority: Minor > > ======================================================================================== > src: > https://apache.googlesource.com/thrift/+/master/lib/cpp/src/thrift/transport/TSocket.cpp > ======================================================================================== > code: > boost::shared_ptr<TSocket> socket(new TSocket("192.168.0.1", 9090)); > boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket)); > boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); > LancomLocationBasedServices::LbsControlClient client(protocol); > transport->open(); > ======================================================================================== > valgrind --leak-check=yes --track-origins=yes binary > => > ==49066== Conditional jump or move depends on uninitialised value(s) > ==49066== at 0x136A443: > apache::thrift::transport::TSocket::openConnection(addrinfo*) > (TSocket.cpp:309) > ==49066== by 0x136B3F8: apache::thrift::transport::TSocket::local_open() > (TSocket.cpp:392) > by *********: transport->open() > ==49066== Uninitialised value was created by a stack allocation > ==49066== at 0x136A14D: > apache::thrift::transport::TSocket::openConnection(addrinfo*) > (TSocket.cpp:180) -- This message was sent by Atlassian JIRA (v6.3.4#6332)