diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index 56cab535a..3c252d2bb 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -261,6 +261,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) init_new_proxy(curr_defproxy); proxy_preset_defaults(curr_defproxy); curproxy = curr_defproxy; + curproxy->id = strdup(args[1]); // may be empty curproxy->conf.args.file = curproxy->conf.file = strdup(file); curproxy->conf.args.line = curproxy->conf.line = linenum; defproxy.cap = PR_CAP_DEF | PR_CAP_LISTEN; /* all caps for now */ diff --git a/src/proxy.c b/src/proxy.c index a0aaa5ca6..53518807f 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -1111,6 +1111,7 @@ void proxy_preset_defaults(struct proxy *defproxy) */ void proxy_free_defaults(struct proxy *defproxy) { + free(defproxy->id); defproxy->id = NULL; free(defproxy->conf.file); defproxy->conf.file = NULL; free(defproxy->check_command); defproxy->check_command = NULL; free(defproxy->check_path); defproxy->check_path = NULL;