summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2013-06-06 08:22:05 +1000
committerDarren Tucker <dtucker@zip.com.au>2013-06-06 08:22:05 +1000
commite52a260f16888ca75390f97de4606943e61785e8 (patch)
tree96f675ca426513f2ce1291f9f26643de097a6757
parent0cca17fa1819d3a0ba06a6db41ab3eaa8d769587 (diff)
- dtucker@cvs.openbsd.org 2013/06/05 12:52:38
[sshconnect2.c] Fix memory leaks found by Zhenbo Xu and the Melton tool. bz#1967, ok djm
-rw-r--r--ChangeLog3
-rw-r--r--sshconnect2.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 27f0cfcf..43a6e7d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,6 +40,9 @@
When running sshd -D, close stderr unless we have explicitly requesting
logging to stderr. From james.hunt at ubuntu.com via bz#1976, djm's patch
so, err, ok dtucker.
+ - dtucker@cvs.openbsd.org 2013/06/05 12:52:38
+ [sshconnect2.c]
+ Fix memory leaks found by Zhenbo Xu and the Melton tool. bz#1967, ok djm
20130602
- (tim) [Makefile.in] Make Solaris, UnixWare, & OpenServer linkers happy
diff --git a/sshconnect2.c b/sshconnect2.c
index 19ed3459..70e3cd8c 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.197 2013/05/17 00:13:14 djm Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.198 2013/06/05 12:52:38 dtucker Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2008 Damien Miller. All rights reserved.
@@ -1322,8 +1322,11 @@ load_identity_file(char *filename, int userprovided)
return NULL;
}
private = key_load_private_type(KEY_UNSPEC, filename, "", NULL, &perm_ok);
- if (!perm_ok)
+ if (!perm_ok) {
+ if (private != NULL)
+ key_free(private);
return NULL;
+ }
if (private == NULL) {
if (options.batch_mode)
return NULL;
@@ -1915,6 +1918,7 @@ authmethod_get(char *authlist)
free(name);
return current;
}
+ free(name);
}
}