BUG/MINOR: listener: fix incorrect return on out-of-memory

When the clone_listener() function was added in commit 59a877dfd
("MINOR: listeners: add clone_listener() to duplicate listeners at
boot time"), a stupid bug was introduced when splitting the error
path because while the first case where calloc fails will leave NULL
in the output value, the other cases will return the pointer to a
freed area. This was reported by Coverity in issue #1416.

In practice nobody will face it (out-of-memory while checking config),
but let's fix it.

No backport is needed.
This commit is contained in:
Willy Tarreau 2021-10-16 14:45:29 +02:00
parent b39e47a52b
commit a146289d4f

View File

@ -709,7 +709,7 @@ struct listener *clone_listener(struct listener *src)
oom2:
free(l);
oom1:
return l;
return NULL;
}
/* Delete a listener from its protocol's list of listeners. The listener's