diff options
author | mbuhl@openbsd.org <mbuhl@openbsd.org> | 2021-09-14 11:04:21 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2021-09-15 15:58:18 +1000 |
commit | d0fffc88c8fe90c1815c6f4097bc8cbcabc0f3dd (patch) | |
tree | df2be09a81bd98d3745cbeac76c31977be3374e1 | |
parent | 19b3d846f06697c85957ab79a63454f57f8e22d6 (diff) |
upstream: put back the mux_ctx memleak fix for SSH_CHANNEL_MUX_CLIENT
OK mfriedl@
OpenBSD-Commit-ID: 1aba1da828956cacaadb81a637338734697d9798
-rw-r--r-- | channels.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: channels.c,v 1.407 2021/05/19 01:24:05 djm Exp $ */ +/* $OpenBSD: channels.c,v 1.408 2021/09/14 11:04:21 mbuhl Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -629,9 +629,11 @@ channel_free(struct ssh *ssh, Channel *c) debug("channel %d: free: %s, nchannels %u", c->self, c->remote_name ? c->remote_name : "???", n); - if (c->type == SSH_CHANNEL_MUX_CLIENT) + if (c->type == SSH_CHANNEL_MUX_CLIENT) { mux_remove_remote_forwardings(ssh, c); - else if (c->type == SSH_CHANNEL_MUX_LISTENER) { + free(c->mux_ctx); + c->mux_ctx = NULL; + } else if (c->type == SSH_CHANNEL_MUX_LISTENER) { free(c->mux_ctx); c->mux_ctx = NULL; } |