mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-23 04:54:26 +00:00
api.c: Release apisock on error in api()
This commit is contained in:
parent
7383e19a9d
commit
d976abe12d
8
api.c
8
api.c
@ -3682,6 +3682,7 @@ void api(int api_thr_id)
|
|||||||
|
|
||||||
if (!opt_api_listen) {
|
if (!opt_api_listen) {
|
||||||
applog(LOG_DEBUG, "API not running%s", UNAVAILABLE);
|
applog(LOG_DEBUG, "API not running%s", UNAVAILABLE);
|
||||||
|
free(apisock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3699,6 +3700,7 @@ void api(int api_thr_id)
|
|||||||
|
|
||||||
if (ips == 0) {
|
if (ips == 0) {
|
||||||
applog(LOG_WARNING, "API not running (no valid IPs specified)%s", UNAVAILABLE);
|
applog(LOG_WARNING, "API not running (no valid IPs specified)%s", UNAVAILABLE);
|
||||||
|
free(apisock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3710,6 +3712,7 @@ void api(int api_thr_id)
|
|||||||
*apisock = socket(AF_INET, SOCK_STREAM, 0);
|
*apisock = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if (*apisock == INVSOCK) {
|
if (*apisock == INVSOCK) {
|
||||||
applog(LOG_ERR, "API1 initialisation failed (%s)%s", SOCKERRMSG, UNAVAILABLE);
|
applog(LOG_ERR, "API1 initialisation failed (%s)%s", SOCKERRMSG, UNAVAILABLE);
|
||||||
|
free(apisock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3721,6 +3724,7 @@ void api(int api_thr_id)
|
|||||||
serv.sin_addr.s_addr = inet_addr(localaddr);
|
serv.sin_addr.s_addr = inet_addr(localaddr);
|
||||||
if (serv.sin_addr.s_addr == (in_addr_t)INVINETADDR) {
|
if (serv.sin_addr.s_addr == (in_addr_t)INVINETADDR) {
|
||||||
applog(LOG_ERR, "API2 initialisation failed (%s)%s", SOCKERRMSG, UNAVAILABLE);
|
applog(LOG_ERR, "API2 initialisation failed (%s)%s", SOCKERRMSG, UNAVAILABLE);
|
||||||
|
free(apisock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3759,12 +3763,14 @@ void api(int api_thr_id)
|
|||||||
|
|
||||||
if (bound == 0) {
|
if (bound == 0) {
|
||||||
applog(LOG_ERR, "API bind to port %d failed (%s)%s", port, binderror, UNAVAILABLE);
|
applog(LOG_ERR, "API bind to port %d failed (%s)%s", port, binderror, UNAVAILABLE);
|
||||||
|
free(apisock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SOCKETFAIL(listen(*apisock, QUEUE))) {
|
if (SOCKETFAIL(listen(*apisock, QUEUE))) {
|
||||||
applog(LOG_ERR, "API3 initialisation failed (%s)%s", SOCKERRMSG, UNAVAILABLE);
|
applog(LOG_ERR, "API3 initialisation failed (%s)%s", SOCKERRMSG, UNAVAILABLE);
|
||||||
CLOSESOCKET(*apisock);
|
CLOSESOCKET(*apisock);
|
||||||
|
free(apisock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3901,6 +3907,8 @@ die:
|
|||||||
;
|
;
|
||||||
pthread_cleanup_pop(true);
|
pthread_cleanup_pop(true);
|
||||||
|
|
||||||
|
free(apisock);
|
||||||
|
|
||||||
if (opt_debug)
|
if (opt_debug)
|
||||||
applog(LOG_DEBUG, "API: terminating due to: %s",
|
applog(LOG_DEBUG, "API: terminating due to: %s",
|
||||||
do_a_quit ? "QUIT" : (do_a_restart ? "RESTART" : (bye ? "BYE" : "UNKNOWN!")));
|
do_a_quit ? "QUIT" : (do_a_restart ? "RESTART" : (bye ? "BYE" : "UNKNOWN!")));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user