From b0280c634f4bcde8b99cb7ca9dfc95b89f0a4288 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Mon, 12 Apr 2010 09:52:19 +0200 Subject: Semi-plug memory leak when using default rcfile entry. Does not free all members of struct query, but just servername and the query node itself. Add a FIXME note. --- fetchmail.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'fetchmail.c') diff --git a/fetchmail.c b/fetchmail.c index 4e0ea519..af2a5dda 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -1094,12 +1094,18 @@ static int load_params(int argc, char **argv, int optind) /* * If there's a defaults record, merge it and lose it. + * FIXME: we don't currently free all entries that might be in struct query. */ if (querylist && strcmp(querylist->server.pollname, "defaults") == 0) { + struct query *tmpq; + for (ctl = querylist->next; ctl; ctl = ctl->next) optmerge(ctl, querylist, FALSE); + tmpq = querylist; querylist = querylist->next; + free(tmpq->server.pollname); + free(tmpq); } /* don't allow a defaults record after the first */ -- cgit v1.2.3