diff options
author | Damien Miller <djm@mindrot.org> | 2012-06-20 21:52:00 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2012-06-20 21:52:00 +1000 |
commit | 2e7decfcc0bd337e90649a62599e3ee8f1321b68 (patch) | |
tree | 71f0db14c859b61e1f3fff3adfe61c5863bdd1e7 /mux.c | |
parent | 7f12157c0a27abe045eaad92b6a2de9ca50a340b (diff) |
- djm@cvs.openbsd.org 2012/06/01 01:01:22
[mux.c]
fix memory leak when mux socket creation fails; bz#2002 from bert.wesarg
AT googlemail.com
Diffstat (limited to 'mux.c')
-rw-r--r-- | mux.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: mux.c,v 1.34 2012/01/07 21:11:36 djm Exp $ */ | 1 | /* $OpenBSD: mux.c,v 1.35 2012/06/01 01:01:22 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> | 3 | * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> |
4 | * | 4 | * |
@@ -1195,6 +1195,7 @@ muxserver_listen(void) | |||
1195 | close(muxserver_sock); | 1195 | close(muxserver_sock); |
1196 | muxserver_sock = -1; | 1196 | muxserver_sock = -1; |
1197 | } | 1197 | } |
1198 | xfree(orig_control_path); | ||
1198 | xfree(options.control_path); | 1199 | xfree(options.control_path); |
1199 | options.control_path = NULL; | 1200 | options.control_path = NULL; |
1200 | options.control_master = SSHCTL_MASTER_NO; | 1201 | options.control_master = SSHCTL_MASTER_NO; |
@@ -1216,7 +1217,6 @@ muxserver_listen(void) | |||
1216 | } | 1217 | } |
1217 | error("ControlSocket %s already exists, disabling multiplexing", | 1218 | error("ControlSocket %s already exists, disabling multiplexing", |
1218 | orig_control_path); | 1219 | orig_control_path); |
1219 | xfree(orig_control_path); | ||
1220 | unlink(options.control_path); | 1220 | unlink(options.control_path); |
1221 | goto disable_mux_master; | 1221 | goto disable_mux_master; |
1222 | } | 1222 | } |