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 f16ba2d..5c2eb21 100644
--- a/src/listener.c
+++ b/src/listener.c
@@ -709,7 +709,7 @@
oom2:
free(l);
oom1:
- return l;
+ return NULL;
}
/* Delete a listener from its protocol's list of listeners. The listener's