summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-04-21 15:55:20 +1000
committerDamien Miller <djm@mindrot.org>2000-04-21 15:55:20 +1000
commita552faf5646498c12acfd752394e289e4f9a226d (patch)
treea40be5aabf692814274559c7f8f89d831e94ff7e
parentf3a3fee942427289ed9db73f2db1624c30d0f76f (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
-rw-r--r--ChangeLog6
-rw-r--r--ssh-agent.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c8e2d70d2..cb810c947 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
120000421
2 - Merge fix from OpenBSD CVS
3 [ssh-agent.c]
4 - Fix memory leak per connection. Report from Andy Spiegl <Andy@Spiegl.de>
5 via Debian bug #59926
6
120000420 720000420
2 - Make fixpaths work with perl4, patch from Andre Lucas 8 - Make fixpaths work with perl4, patch from Andre Lucas
3 <andre.lucas@dial.pipex.com> 9 <andre.lucas@dial.pipex.com>
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"
12RCSID("$OpenBSD: ssh-agent.c,v 1.29 2000/04/19 07:05:49 deraadt Exp $"); 12RCSID("$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);