diff --git a/websocketpp/roles/server_endpoint.hpp b/websocketpp/roles/server_endpoint.hpp index b5fb0be3d3..9ebb109897 100644 --- a/websocketpp/roles/server_endpoint.hpp +++ b/websocketpp/roles/server_endpoint.hpp @@ -104,7 +104,13 @@ public: endpoint_type::m_elog.write(log::elevel::rerror, "start_accept error: "+ec.message()); } - } + + if (ec) { + // Terminate the connection to prevent memory leaks. + lib::error_code con_ec; + con->terminate(con_ec); + } + } void handle_accept(connection_ptr con, lib::error_code const & ec) { if (ec) {