diff options
author | delphij <delphij@FreeBSD.org> | 2015-08-25 20:48:37 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2015-08-25 20:48:37 +0000 |
commit | 991c19271a64bddd1f8bb9842dd695986630d505 (patch) | |
tree | ad2e3fef5c4976139c4bc83657909c6c068c5753 /crypto/openssh/mux.c | |
parent | 80b01acf73d4f8ff74678c4e7f57db989dba2366 (diff) | |
download | FreeBSD-src-991c19271a64bddd1f8bb9842dd695986630d505.zip FreeBSD-src-991c19271a64bddd1f8bb9842dd695986630d505.tar.gz |
Fix OpenSSH multiple vulnerabilities by backporting three changes
from OpenSSH-portable master.
Git revisions: 45b0eb752c94954a6de046bfaaf129e518ad4b5b
5e75f5198769056089fb06c4d738ab0e5abc66f7
d4697fe9a28dab7255c60433e4dd23cf7fce8a8b
Reviewed by: des
Security: FreeBSD-SA-15:22.openssh
Diffstat (limited to 'crypto/openssh/mux.c')
-rw-r--r-- | crypto/openssh/mux.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/openssh/mux.c b/crypto/openssh/mux.c index 6ef88c9..e27194f 100644 --- a/crypto/openssh/mux.c +++ b/crypto/openssh/mux.c @@ -635,7 +635,8 @@ process_mux_open_fwd(u_int rid, Channel *c, Buffer *m, Buffer *r) u_int lport, cport; int i, ret = 0, freefwd = 1; - fwd.listen_host = fwd.connect_host = NULL; + memset(&fwd, 0, sizeof(fwd)); + if (buffer_get_int_ret(&ftype, m) != 0 || (fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL || buffer_get_int_ret(&lport, m) != 0 || @@ -785,7 +786,8 @@ process_mux_close_fwd(u_int rid, Channel *c, Buffer *m, Buffer *r) int i, listen_port, ret = 0; u_int lport, cport; - fwd.listen_host = fwd.connect_host = NULL; + memset(&fwd, 0, sizeof(fwd)); + if (buffer_get_int_ret(&ftype, m) != 0 || (fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL || buffer_get_int_ret(&lport, m) != 0 || |