summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2002-07-07 22:10:15 +0000
committerBen Lindstrom <mouring@eviladmin.org>2002-07-07 22:10:15 +0000
commitc51b924a80a17d6cf47c25c2c118385d4ecc87c8 (patch)
tree140f5252d5b8bc0aca22225c2323781d6af6e78d
parent8abe736dd7a27e4c2a42351287bacfd80ec42a7c (diff)
- 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
-rw-r--r--ChangeLog6
-rw-r--r--key.c4
-rw-r--r--monitor_wrap.c4
-rw-r--r--sftp-glob.c6
-rw-r--r--ssh-dss.c6
-rw-r--r--ssh-rsa.c4
6 files changed, 23 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 18a764e7..dfaa4a8c 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.
@@ -1288,4 +1292,4 @@
- (stevesk) entropy.c: typo in debug message
- (djm) ssh-keygen -i needs seeded RNG; report from markus@
-$Id: ChangeLog,v 1.2341 2002/07/07 22:07:10 mouring Exp $
+$Id: ChangeLog,v 1.2342 2002/07/07 22:10:15 mouring Exp $
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 <openssl/evp.h>
@@ -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 <openssl/bn.h>
#include <openssl/dh.h>
@@ -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 <openssl/bn.h>
#include <openssl/evp.h>
@@ -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 <openssl/evp.h>
#include <openssl/err.h>
@@ -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;
}