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.
goto tcp_return;
tcp_close_return:
- free_trash_chunk(msg);
- msg = NULL;
fd_delete(fd);
tcp_return:
if (msg && errlen && msg->data) {