From c797c2af6f4e2e8ae93b68f1c41abab1579563db Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Tue, 21 Feb 2023 11:05:40 +0100 Subject: reverse_proxy: Fix use-after-free --- src/reverse_proxy.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/reverse_proxy.c b/src/reverse_proxy.c index 3f0a839..3ab1031 100644 --- a/src/reverse_proxy.c +++ b/src/reverse_proxy.c @@ -186,10 +186,10 @@ static int _reverse_proxy_handle_proxy_cmd(reverse_proxy_client_t client) /* else wait for messages and forward them */ int sockfd = socket_connect(host, port); - free(host); if (sockfd < 0) { free(buf); _reverse_proxy_log(client, "ERROR: Connection to %s:%u failed: %s", host, port, strerror(errno)); + free(host); return -1; } @@ -259,6 +259,7 @@ static int _reverse_proxy_handle_proxy_cmd(reverse_proxy_client_t client) } } socket_close(sockfd); + free(host); free(buf); _reverse_proxy_status(client, RP_STATUS_DISCONNECTED, "Disconnected (out: %u / in: %u)", sent_total, recv_total); -- cgit v1.1-32-gdbae