From: Willy Tarreau Date: Sat, 16 Oct 2021 12:45:29 +0000 (+0200) Subject: BUG/MINOR: listener: fix incorrect return on out-of-memory X-Git-Tag: v2.5-dev10~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a146289d4f3b9940f20ae1640b26fa939761224b;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/listener.c b/src/listener.c index f16ba2d0ac..5c2eb210a9 100644 --- a/src/listener.c +++ b/src/listener.c @@ -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