From: Tim Duesterhus Date: Sun, 3 Jan 2021 21:54:43 +0000 (+0100) Subject: BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for `use_backend` fails X-Git-Tag: v2.1.11~10 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=e43d3600011e7e13c519917757f204c42c716841;p=haproxy-2.1.git BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for `use_backend` fails This patch fixes GitHub issue #1024. I could track the `strdup` back to commit 3a1f5fda109fc56ae127d03eaf34ce027c9542e1 which is 1.9-dev8. It's probably not worth the effort to backport it across this refactoring. This patch should be backported to 1.9+. (cherry picked from commit 5ce5a1586d8c67affa604dedf0faa2c5a02ecab5) Signed-off-by: Christopher Faulet (cherry picked from commit f46d9cd735d1664c113c041d85179a81bded8fc6) Signed-off-by: Christopher Faulet (cherry picked from commit fdca7df8181de29a661be4e8f91160b087843167) Signed-off-by: Christopher Faulet --- diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index 62d1388..54243f6 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -1539,6 +1539,10 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) } rule->cond = cond; rule->be.name = strdup(args[1]); + if (!rule->be.name) { + ha_alert("Out of memory error.\n"); + goto out; + } rule->line = linenum; rule->file = strdup(file); if (!rule->file) {