[PATCH] Fix channel mux_ctx memory leak

Eiichi Tsukata eiichi.tsukata at nutanix.com
Tue May 19 12:07:46 AEST 2020


mux_ctx is allocated at mux_master_read_cb() but not freed.
This can cause ssh process memory leak when we use multiplexing.

Signed-off-by: Eiichi Tsukata <eiichi.tsukata at nutanix.com>
---
 channels.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/channels.c b/channels.c
index 95a51e2..74b3cec 100644
--- a/channels.c
+++ b/channels.c
@@ -621,6 +621,8 @@ channel_free(struct ssh *ssh, Channel *c)
 	c->path = NULL;
 	free(c->listening_addr);
 	c->listening_addr = NULL;
+	free(c->mux_ctx);
+	c->mux_ctx = NULL;
 	while ((cc = TAILQ_FIRST(&c->status_confirms)) != NULL) {
 		if (cc->abandon_cb != NULL)
 			cc->abandon_cb(ssh, c, cc->ctx);
-- 
1.8.3.1



More information about the openssh-unix-dev mailing list