]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for `use_backend` fails
authorTim Duesterhus <tim@bastelstu.be>
Sun, 3 Jan 2021 21:54:43 +0000 (22:54 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 5 Jan 2021 10:37:41 +0000 (11:37 +0100)
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+.

src/cfgparse-listen.c

index 6678e15d1a76326f5d87279417992a964f788b63..588ff9704ac846dc992ddb9daafb30beeb9586f4 100644 (file)
@@ -1510,6 +1510,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) {