Christopher Friedt created THRIFT-5678: ------------------------------------------
Summary: lib: cpp: TConnectedClient Key: THRIFT-5678 URL: https://issues.apache.org/jira/browse/THRIFT-5678 Project: Thrift Issue Type: Bug Components: C++ - Library Affects Versions: 0.17.0, 0.16.0, 0.14.2, 0.14.1, 0.15.0, 0.14.0, 0.13.0 Reporter: Christopher Friedt In TConnectedClient.h the destructor is non-virtual, which causes the warning below. {code:java} In member function 'void apache::thrift::server::TServerFramework::disposeConnectedClient(apache::thrift::server::TConnectedClient*)': lib/cpp/src/thrift/server/TServerFramework.cpp:234:3: warning: deleting object of polymorphic class type 'apache::thrift::server::TConnectedClient' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor] 234 | delete pClient; | ^~~~~~~~~~~~~~{code} Not itself a major problem, but Zephyr CI promotes all warnings to errors, which causes builds to fail. TConnectedClient.cpp has the following line of code: {code:java} TConnectedClient::~TConnectedClient() = default;{code} It might be considered a regression. The commit that removed the virtual qualifier was 042580f53441efe1bc5c80c89351fcb30740659e Suggested fix is to mark it as virtual and set it to default in the header, and then delete the definition in the .cpp file. -- This message was sent by Atlassian Jira (v8.20.10#820010)