Fix an object lifetime bug in net load tests
The commands handler must not be destroyed before the config object, or we'll be accessing freed memory. An earlier attempt at using boost::shared_ptr to control object lifetime turned out to be very invasive, though would be a better solution in theory.
This commit is contained in:
@@ -224,8 +224,8 @@ int main(int argc, char** argv)
|
||||
if (!tcp_server.init_server(srv_port, "127.0.0.1"))
|
||||
return 1;
|
||||
|
||||
srv_levin_commands_handler commands_handler(tcp_server);
|
||||
tcp_server.get_config_object().m_pcommands_handler = &commands_handler;
|
||||
srv_levin_commands_handler *commands_handler = new srv_levin_commands_handler(tcp_server);
|
||||
tcp_server.get_config_object().set_handler(commands_handler, [](epee::levin::levin_commands_handler<test_connection_context> *handler) { delete handler; });
|
||||
tcp_server.get_config_object().m_invoke_timeout = 10000;
|
||||
//tcp_server.get_config_object().m_max_packet_size = max_packet_size;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user