diff --git a/src/listener.c b/src/listener.c index 5f3a98b4a..5e423eb57 100644 --- a/src/listener.c +++ b/src/listener.c @@ -2369,8 +2369,13 @@ static int bind_parse_name(char **args, int cur_arg, struct proxy *px, struct bi return ERR_ALERT | ERR_FATAL; } - list_for_each_entry(l, &conf->listeners, by_bind) + list_for_each_entry(l, &conf->listeners, by_bind) { l->name = strdup(args[cur_arg + 1]); + if (!l->name) { + memprintf(err, "'%s %s' : out of memory", args[cur_arg], args[cur_arg + 1]); + return ERR_ALERT | ERR_FATAL; + } + } return 0; }