diff options
author | Damien Miller <djm@mindrot.org> | 2000-04-21 15:55:20 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-04-21 15:55:20 +1000 |
commit | a552faf5646498c12acfd752394e289e4f9a226d (patch) | |
tree | a40be5aabf692814274559c7f8f89d831e94ff7e /ssh-agent.c | |
parent | f3a3fee942427289ed9db73f2db1624c30d0f76f (diff) |
- Merge fix from OpenBSD CVS
[ssh-agent.c]
- Fix memory leak per connection. Report from Andy Spiegl <Andy@Spiegl.de>
via Debian bug #59926
Diffstat (limited to 'ssh-agent.c')
-rw-r--r-- | ssh-agent.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ssh-agent.c b/ssh-agent.c index c9a84a4a0..fb13ce7e1 100644 --- a/ssh-agent.c +++ b/ssh-agent.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-agent.c,v 1.29 2000/04/19 07:05:49 deraadt Exp $ */ | 1 | /* $OpenBSD: ssh-agent.c,v 1.30 2000/04/21 00:27:11 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include "includes.h" | 11 | #include "includes.h" |
12 | RCSID("$OpenBSD: ssh-agent.c,v 1.29 2000/04/19 07:05:49 deraadt Exp $"); | 12 | RCSID("$OpenBSD: ssh-agent.c,v 1.30 2000/04/21 00:27:11 djm Exp $"); |
13 | 13 | ||
14 | #include "ssh.h" | 14 | #include "ssh.h" |
15 | #include "rsa.h" | 15 | #include "rsa.h" |
@@ -440,6 +440,8 @@ after_select(fd_set *readset, fd_set *writeset) | |||
440 | shutdown(sockets[i].fd, SHUT_RDWR); | 440 | shutdown(sockets[i].fd, SHUT_RDWR); |
441 | close(sockets[i].fd); | 441 | close(sockets[i].fd); |
442 | sockets[i].type = AUTH_UNUSED; | 442 | sockets[i].type = AUTH_UNUSED; |
443 | buffer_free(&sockets[i].input); | ||
444 | buffer_free(&sockets[i].output); | ||
443 | break; | 445 | break; |
444 | } | 446 | } |
445 | buffer_consume(&sockets[i].output, len); | 447 | buffer_consume(&sockets[i].output, len); |
@@ -450,6 +452,8 @@ after_select(fd_set *readset, fd_set *writeset) | |||
450 | shutdown(sockets[i].fd, SHUT_RDWR); | 452 | shutdown(sockets[i].fd, SHUT_RDWR); |
451 | close(sockets[i].fd); | 453 | close(sockets[i].fd); |
452 | sockets[i].type = AUTH_UNUSED; | 454 | sockets[i].type = AUTH_UNUSED; |
455 | buffer_free(&sockets[i].input); | ||
456 | buffer_free(&sockets[i].output); | ||
453 | break; | 457 | break; |
454 | } | 458 | } |
455 | buffer_append(&sockets[i].input, buf, len); | 459 | buffer_append(&sockets[i].input, buf, len); |