BUG/MINOR: proto_tcp: keep error msg if listen() fails
If listen() fails, we need to keep the message about it, which is copied then
in errmsg buffer on the error path. This buffer is properly provided by the
caller (protocol_bind_all()) and reallocated if needed in memprintf(), but
it was deleted without being returned.
This can be backported to all stable versions.
(cherry picked from commit 81f48395b325b9875d215ec2743e75f7a56e1e5f)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 1038e1517abd397827e7ba65c0cc1d1877cba133)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 696efc1834cf96f288b1988669cfb25dc03b389e)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index 29c4214..2e221fd 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -738,8 +738,6 @@
goto tcp_return;
tcp_close_return:
- free_trash_chunk(msg);
- msg = NULL;
fd_delete(fd);
tcp_return:
if (msg && errlen && msg->data) {