From cd107deb463934f7a8611cdc8d17b861a93d97f9 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Mon, 23 Oct 2017 21:19:51 +0200 Subject: [PATCH] Prevent a memory leak When a CAP DEL is received the key/val pair is not stored in the hashtable at all so just free them when we're done. --- src/irc/core/irc-cap.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/irc/core/irc-cap.c b/src/irc/core/irc-cap.c index 9af55130..8be9d33f 100644 --- a/src/irc/core/irc-cap.c +++ b/src/irc/core/irc-cap.c @@ -266,6 +266,10 @@ static void event_cap (IRC_SERVER_REC *server, char *args, char *nick, char *add /* The server removed this CAP, remove it from the list * of the active ones if we had requested it */ server->cap_active = gslist_delete_string(server->cap_active, key, g_free); + /* We don't transfer the ownership of those two + * variables this time, just free them when we're done. */ + g_free(key); + g_free(val); } } else {