mirror of
https://github.com/monero-project/monero.git
synced 2025-01-28 18:56:31 +02:00
daemon_deprecated_rpc: fix misc leaks and potential uses after free
This commit is contained in:
parent
3ca7c008db
commit
19c844f623
@ -995,12 +995,18 @@ namespace RPC
|
|||||||
int start() {
|
int start() {
|
||||||
server = new RPC::Json_rpc_http_server("127.0.0.1", "9997", "daemon_json_rpc", &ev_handler);
|
server = new RPC::Json_rpc_http_server("127.0.0.1", "9997", "daemon_json_rpc", &ev_handler);
|
||||||
if (!server->start()) {
|
if (!server->start()) {
|
||||||
|
delete server;
|
||||||
|
server = NULL;
|
||||||
return FAILURE_HTTP_SERVER;
|
return FAILURE_HTTP_SERVER;
|
||||||
}
|
}
|
||||||
std::cout << "Started Daemon server at 127.0.0.1/daemon_json_rpc:9997\n";
|
std::cout << "Started Daemon server at 127.0.0.1/daemon_json_rpc:9997\n";
|
||||||
ipc_client = wap_client_new();
|
ipc_client = wap_client_new();
|
||||||
wap_client_connect(ipc_client, "ipc://@/monero", 200, "wallet identity");
|
wap_client_connect(ipc_client, "ipc://@/monero", 200, "wallet identity");
|
||||||
if (!check_connection_to_daemon()) {
|
if (!check_connection_to_daemon()) {
|
||||||
|
wap_client_destroy(&ipc_client); // this sets ipc_client to NULL
|
||||||
|
server->stop();
|
||||||
|
delete server;
|
||||||
|
server = NULL;
|
||||||
return FAILURE_DAEMON_NOT_RUNNING;
|
return FAILURE_DAEMON_NOT_RUNNING;
|
||||||
}
|
}
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
@ -1013,6 +1019,7 @@ namespace RPC
|
|||||||
if (server) {
|
if (server) {
|
||||||
server->stop();
|
server->stop();
|
||||||
delete server;
|
delete server;
|
||||||
|
server = NULL;
|
||||||
}
|
}
|
||||||
if (ipc_client) {
|
if (ipc_client) {
|
||||||
wap_client_destroy(&ipc_client);
|
wap_client_destroy(&ipc_client);
|
||||||
|
Loading…
Reference in New Issue
Block a user