|
|
@@ -823,7 +823,6 @@ bool extract_sockaddr(struct pool *pool, char *url)
|
|
|
struct addrinfo hints, *res;
|
|
|
int url_len, port_len = 0;
|
|
|
|
|
|
- pool->sockaddr_url = url;
|
|
|
url_begin = strstr(url, "//");
|
|
|
if (!url_begin)
|
|
|
url_begin = url;
|
|
|
@@ -849,6 +848,7 @@ bool extract_sockaddr(struct pool *pool, char *url)
|
|
|
else
|
|
|
strcpy(port, "80");
|
|
|
|
|
|
+ free(pool->stratum_port);
|
|
|
pool->stratum_port = strdup(port);
|
|
|
|
|
|
memset(&hints, 0, sizeof(struct addrinfo));
|
|
|
@@ -862,6 +862,7 @@ bool extract_sockaddr(struct pool *pool, char *url)
|
|
|
}
|
|
|
|
|
|
pool->server = (struct sockaddr_in *)res->ai_addr;
|
|
|
+ free(pool->sockaddr_url);
|
|
|
pool->sockaddr_url = strdup(url_address);
|
|
|
|
|
|
return true;
|
|
|
@@ -1081,6 +1082,13 @@ static bool parse_notify(struct pool *pool, json_t *val)
|
|
|
}
|
|
|
|
|
|
mutex_lock(&pool->pool_lock);
|
|
|
+ free(pool->swork.job_id);
|
|
|
+ free(pool->swork.prev_hash);
|
|
|
+ free(pool->swork.coinbase1);
|
|
|
+ free(pool->swork.coinbase2);
|
|
|
+ free(pool->swork.bbversion);
|
|
|
+ free(pool->swork.nbit);
|
|
|
+ free(pool->swork.ntime);
|
|
|
pool->swork.job_id = job_id;
|
|
|
pool->swork.prev_hash = prev_hash;
|
|
|
pool->swork.coinbase1 = coinbase1;
|