Fix memory leaks affecting getblocktemplate
This commit is contained in:
parent
426fe09f9e
commit
aa07150158
1 changed files with 3 additions and 1 deletions
|
@ -554,6 +554,7 @@ static bool gbt_work_decode(const json_t *val, struct work *work)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
sha256d(merkle_tree[1 + i], tx, tx_size);
|
sha256d(merkle_tree[1 + i], tx, tx_size);
|
||||||
|
free(tx);
|
||||||
if (!submit_coinbase)
|
if (!submit_coinbase)
|
||||||
strcat(work->txs, tx_hex);
|
strcat(work->txs, tx_hex);
|
||||||
}
|
}
|
||||||
|
@ -604,7 +605,7 @@ static bool gbt_work_decode(const json_t *val, struct work *work)
|
||||||
if (!have_longpoll) {
|
if (!have_longpoll) {
|
||||||
char *lp_uri;
|
char *lp_uri;
|
||||||
tmp = json_object_get(val, "longpolluri");
|
tmp = json_object_get(val, "longpolluri");
|
||||||
lp_uri = json_is_string(tmp) ? strdup(json_string_value(tmp)) : rpc_url;
|
lp_uri = strdup(json_is_string(tmp) ? json_string_value(tmp) : rpc_url);
|
||||||
have_longpoll = true;
|
have_longpoll = true;
|
||||||
tq_push(thr_info[longpoll_thr_id].q, lp_uri);
|
tq_push(thr_info[longpoll_thr_id].q, lp_uri);
|
||||||
}
|
}
|
||||||
|
@ -1115,6 +1116,7 @@ static void *miner_thread(void *userdata)
|
||||||
if (!have_stratum &&
|
if (!have_stratum &&
|
||||||
(time(NULL) - g_work_time >= min_scantime ||
|
(time(NULL) - g_work_time >= min_scantime ||
|
||||||
work.data[19] >= end_nonce)) {
|
work.data[19] >= end_nonce)) {
|
||||||
|
work_free(&g_work);
|
||||||
if (unlikely(!get_work(mythr, &g_work))) {
|
if (unlikely(!get_work(mythr, &g_work))) {
|
||||||
applog(LOG_ERR, "work retrieval failed, exiting "
|
applog(LOG_ERR, "work retrieval failed, exiting "
|
||||||
"mining thread %d", mythr->id);
|
"mining thread %d", mythr->id);
|
||||||
|
|
Loading…
Reference in a new issue