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