From 19760679eb141baf3bff2110ee03aec90c653a2a Mon Sep 17 00:00:00 2001 From: kyak Date: Sat, 29 Aug 2015 15:29:57 +0300 Subject: [PATCH] In expando_hostname, set *free_ret to TRUE *free_ret must be set to TRUE in both cases, since we return some newly initialised memory --- src/irc/core/irc-expandos.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/irc/core/irc-expandos.c b/src/irc/core/irc-expandos.c index f26c9699..4aa50c52 100644 --- a/src/irc/core/irc-expandos.c +++ b/src/irc/core/irc-expandos.c @@ -86,6 +86,8 @@ static char *expando_hostname(SERVER_REC *server, void *item, int *free_ret) ircserver = IRC_SERVER(server); + *free_ret = TRUE; + /* prefer the _real_ /userhost reply */ if (ircserver != NULL && ircserver->userhost != NULL) { list = g_strsplit(ircserver->userhost, "@", -1); @@ -95,8 +97,6 @@ static char *expando_hostname(SERVER_REC *server, void *item, int *free_ret) } /* haven't received userhost reply yet. guess something */ - *free_ret = TRUE; - if (gethostname(hostname, sizeof(hostname)) != 0 || *hostname == '\0') strcpy(hostname, "??"); return g_strdup(hostname);