From 7bd86cac2081666112a812ba1d776e5655a1bcca Mon Sep 17 00:00:00 2001 From: BenDroid Date: Mon, 2 Apr 2018 23:31:44 +0200 Subject: [PATCH] Fixed crash in reconnecting / net_free --- src/3rdparty/clib-net/src/net.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/clib-net/src/net.c b/src/3rdparty/clib-net/src/net.c index 51d86d30..8eafc5c1 100644 --- a/src/3rdparty/clib-net/src/net.c +++ b/src/3rdparty/clib-net/src/net.c @@ -68,7 +68,9 @@ net_close(net_t * net, void (*cb)(uv_handle_t*)) { uv_read_stop((uv_stream_t*)net->handle); } - uv_close((uv_handle_t *) net->handle, net_close_cb); + if (uv_is_closing((const uv_handle_t *) net->handle) == 0) { + uv_close((uv_handle_t *)net->handle, net_close_cb); + } #ifndef XMRIG_NO_TLS if (net->use_ssl) { @@ -86,18 +88,11 @@ net_close(net_t * net, void (*cb)(uv_handle_t*)) { int net_free(net_t * net) { - if (net->conn != NULL) { - free(net->conn); - net->conn = NULL; - } - if (net->resolver != NULL) { - free(net->resolver); - net->resolver = NULL; - } if (net != NULL) { free(net); net = NULL; } + return NET_OK; }