From 74b2129e09ee753f952132d317afe5b503fec07e Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Mon, 2 Jul 2018 13:40:46 +0200 Subject: [PATCH] Free socket buffers on disconnect Otherwise we would leak the memory on every reconnect (and exit). --- tcp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tcp.c b/tcp.c index 979feae..1db56f2 100644 --- a/tcp.c +++ b/tcp.c @@ -613,6 +613,8 @@ tcp_connect(char *server) void tcp_disconnect(void) { + int i; + if (g_ssl) { if (!g_network_error) @@ -625,6 +627,17 @@ tcp_disconnect(void) TCP_CLOSE(g_sock); g_sock = -1; + + g_in.size = 0; + xfree(g_in.data); + g_in.data = NULL; + + for (i = 0; i < STREAM_COUNT; i++) + { + g_out[i].size = 0; + xfree(g_out[i].data); + g_out[i].data = NULL; + } } char *