From: mouring Date: Sun, 7 Jul 2002 22:10:15 +0000 (+0000) Subject: - deraadt@cvs.openbsd.org 2002/07/04 04:15:33 X-Git-Tag: V_3_5_P1~156 X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/commitdiff_plain/da2499f581b0d057cb8d4d5c3d8494d1ef3b07e6 - deraadt@cvs.openbsd.org 2002/07/04 04:15:33 [key.c monitor_wrap.c sftp-glob.c ssh-dss.c ssh-rsa.c] patch memory leaks; grendel@zeitbombe.org --- diff --git a/ChangeLog b/ChangeLog index 7aeca785..ea5358d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ - (tim) [contrib/cygwin/ssh-host-config] sshd account creation fixes patch from vinschen@redhat.com - (bal) [realpath.c] Updated with OpenBSD tree. + - (bal) OpenBSD CVS Sync + - deraadt@cvs.openbsd.org 2002/07/04 04:15:33 + [key.c monitor_wrap.c sftp-glob.c ssh-dss.c ssh-rsa.c] + patch memory leaks; grendel@zeitbombe.org 20020705 - (tim) [configure.ac] AIX 4.2.1 has authenticate() in libs. diff --git a/key.c b/key.c index 718cd16c..34b36b0e 100644 --- a/key.c +++ b/key.c @@ -32,7 +32,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: key.c,v 1.46 2002/06/30 21:59:45 deraadt Exp $"); +RCSID("$OpenBSD: key.c,v 1.47 2002/07/04 04:15:33 deraadt Exp $"); #include @@ -763,6 +763,8 @@ key_to_blob(Key *key, u_char **blobp, u_int *lenp) *lenp = len; if (blobp != NULL) *blobp = buf; + else + xfree(buf); return len; } diff --git a/monitor_wrap.c b/monitor_wrap.c index eb4453fc..1719f89d 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor_wrap.c,v 1.14 2002/06/30 21:59:45 deraadt Exp $"); +RCSID("$OpenBSD: monitor_wrap.c,v 1.15 2002/07/04 04:15:33 deraadt Exp $"); #include #include @@ -492,6 +492,8 @@ mm_newkeys_to_blob(int mode, u_char **blobp, u_int *lenp) *lenp = len; if (blobp != NULL) *blobp = buf; + else + xfree(blobp); return len; } diff --git a/sftp-glob.c b/sftp-glob.c index 2deb0eb4..2a7cf141 100644 --- a/sftp-glob.c +++ b/sftp-glob.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: sftp-glob.c,v 1.11 2002/06/30 21:59:45 deraadt Exp $"); +RCSID("$OpenBSD: sftp-glob.c,v 1.12 2002/07/04 04:15:33 deraadt Exp $"); #include "buffer.h" #include "bufaux.h" @@ -51,8 +51,10 @@ fudge_opendir(const char *path) r = xmalloc(sizeof(*r)); - if (do_readdir(cur.conn, (char *)path, &r->dir)) + if (do_readdir(cur.conn, (char *)path, &r->dir)) { + xfree(r); return(NULL); + } r->offset = 0; diff --git a/ssh-dss.c b/ssh-dss.c index dbf8465b..0215f1c9 100644 --- a/ssh-dss.c +++ b/ssh-dss.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-dss.c,v 1.15 2002/06/23 03:30:17 deraadt Exp $"); +RCSID("$OpenBSD: ssh-dss.c,v 1.16 2002/07/04 04:15:33 deraadt Exp $"); #include #include @@ -85,6 +85,8 @@ ssh_dss_sign(Key *key, u_char **sigp, u_int *lenp, *lenp = SIGBLOB_LEN; if (sigp != NULL) *sigp = ret; + else + xfree(ret); } else { /* ietf-drafts */ buffer_init(&b); @@ -98,6 +100,8 @@ ssh_dss_sign(Key *key, u_char **sigp, u_int *lenp, *lenp = len; if (sigp != NULL) *sigp = ret; + else + xfree(ret); } return 0; } diff --git a/ssh-rsa.c b/ssh-rsa.c index 782279ba..c7f5ed0b 100644 --- a/ssh-rsa.c +++ b/ssh-rsa.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-rsa.c,v 1.21 2002/06/23 03:30:17 deraadt Exp $"); +RCSID("$OpenBSD: ssh-rsa.c,v 1.22 2002/07/04 04:15:33 deraadt Exp $"); #include #include @@ -100,6 +100,8 @@ ssh_rsa_sign(Key *key, u_char **sigp, u_int *lenp, *lenp = len; if (sigp != NULL) *sigp = ret; + else + xfree(ret); return 0; }