From f098c9e6f6dab9a2b08e91d2b5180e65166676b6 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 18 Dec 2019 13:30:39 +0100 Subject: curl/parseconfig: fix mem-leak When looping, first trying '.curlrc' and then '_curlrc', the function would not free the first string. Closes #4731 --- src/tool_parsecfg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c index 9b32e54a0..208897f48 100644 --- a/src/tool_parsecfg.c +++ b/src/tool_parsecfg.c @@ -97,6 +97,8 @@ int parseconfig(const char *filename, struct GlobalConfig *global) int i = 0; char prefix = '.'; do { + /* if it was allocated in a previous attempt */ + free(pathalloc); /* check for .curlrc then _curlrc in the home dir */ pathalloc = curl_maprintf("%s%s%ccurlrc", home, DIR_CHAR, prefix); if(!pathalloc) { -- cgit v1.2.1