upstream: put back the mux_ctx memleak fix, but only for channels of
type SSH_CHANNEL_MUX_LISTENER; Specifically SSH_CHANNEL_MUX_PROXY channels should not have this structure freed. OpenBSD-Commit-ID: f3b213ae60405f77439e2b06262f054760c9d325
This commit is contained in:
parent
d8195914eb
commit
aa6fa4bf30
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: channels.c,v 1.400 2020/07/03 07:17:35 djm Exp $ */
|
/* $OpenBSD: channels.c,v 1.401 2020/07/03 07:25:18 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -603,6 +603,10 @@ channel_free(struct ssh *ssh, Channel *c)
|
||||||
|
|
||||||
if (c->type == SSH_CHANNEL_MUX_CLIENT)
|
if (c->type == SSH_CHANNEL_MUX_CLIENT)
|
||||||
mux_remove_remote_forwardings(ssh, c);
|
mux_remove_remote_forwardings(ssh, c);
|
||||||
|
else if (c->type == SSH_CHANNEL_MUX_LISTENER) {
|
||||||
|
free(c->mux_ctx);
|
||||||
|
c->mux_ctx = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (log_level_get() >= SYSLOG_LEVEL_DEBUG3) {
|
if (log_level_get() >= SYSLOG_LEVEL_DEBUG3) {
|
||||||
s = channel_open_message(ssh);
|
s = channel_open_message(ssh);
|
||||||
|
|
Loading…
Reference in New Issue