Http management needs to use delete on the SocketData_t.
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled

This commit is contained in:
2026-05-06 13:30:09 -04:00
parent cc8949d427
commit 0ad0c5f3cf
+3 -3
View File
@@ -172,7 +172,7 @@ void a_Http_set_proxy_passwd(const char *str)
*/ */
static int Http_sock_new(void) static int Http_sock_new(void)
{ {
SocketData_t *S = dNew0(SocketData_t, 1); SocketData_t *S = std::make_unique< SocketData_t >().release();
S->SockFD = -1; S->SockFD = -1;
return a_Klist_insert(&ValidSocks, S); return a_Klist_insert(&ValidSocks, S);
} }
@@ -264,7 +264,7 @@ static void Http_connect_queued_sockets(Server_t *srv)
if (sd->flags & HTTP_SOCKET_TO_BE_FREED) { if (sd->flags & HTTP_SOCKET_TO_BE_FREED) {
dList_remove(srv->queue, sd); dList_remove(srv->queue, sd);
dFree(sd); delete sd;
i--; i--;
} else { } else {
int connect_ready = TLS_CONNECT_READY; int connect_ready = TLS_CONNECT_READY;
@@ -1115,7 +1115,7 @@ static void Http_servers_remove_all(void)
srv = (Server_t*) dList_nth_data(servers, 0); srv = (Server_t*) dList_nth_data(servers, 0);
while ((sd = reinterpret_cast< SocketData_t * >( dList_nth_data(srv->queue, 0) ))) { while ((sd = reinterpret_cast< SocketData_t * >( dList_nth_data(srv->queue, 0) ))) {
dList_remove(srv->queue, sd); dList_remove(srv->queue, sd);
dFree(sd); delete sd;
} }
Http_server_remove(srv); Http_server_remove(srv);
} }