From: David Carlier Date: Mon, 22 Aug 2016 22:27:42 +0000 (+0100) Subject: MINOR: cfgparse: few memory leaks fixes. X-Git-Tag: v1.7-dev5~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70d604593d507f50fd99cebecee4b2c47c1d9b73;p=thirdparty%2Fhaproxy.git MINOR: cfgparse: few memory leaks fixes. Some minor memory leak during the config parsing. --- diff --git a/src/cfgparse.c b/src/cfgparse.c index a65c701ed4..09077d8ced 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -1604,6 +1604,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm) if (logsrv->format < 0) { Alert("parsing [%s:%d] : unknown log format '%s'\n", file, linenum, args[arg+3]); err_code |= ERR_ALERT | ERR_FATAL; + free(logsrv); goto out; } @@ -6841,9 +6842,10 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm) } ag->name = strdup(args[1]); - if (!ag) { + if (!ag->name) { Alert("parsing [%s:%d]: out of memory.\n", file, linenum); err_code |= ERR_ALERT | ERR_ABORT; + free(ag); goto out; } @@ -6858,6 +6860,9 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm) Alert("parsing [%s:%d]: '%s' only supports 'users' option.\n", file, linenum, args[0]); err_code |= ERR_ALERT | ERR_FATAL; + free(ag->groupusers); + free(ag->name); + free(ag); goto out; } }