summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/sshconnect2.c
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2006-03-19 07:41:30 +0000
committerdjm <djm@openbsd.org>2006-03-19 07:41:30 +0000
commit12e05fab8443a08557c9f794404cc540cbc9f00f (patch)
tree60610ee5db2270ef95b4fbaa46bd86620363d78f /usr.bin/ssh/sshconnect2.c
parentRemove extraneous cast to malloc call in fgetln example. (diff)
downloadwireguard-openbsd-12e05fab8443a08557c9f794404cc540cbc9f00f.tar.xz
wireguard-openbsd-12e05fab8443a08557c9f794404cc540cbc9f00f.zip
memory leaks detected by Coverity via elad AT netbsd.org;
deraadt@ ok
Diffstat (limited to 'usr.bin/ssh/sshconnect2.c')
-rw-r--r--usr.bin/ssh/sshconnect2.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.bin/ssh/sshconnect2.c b/usr.bin/ssh/sshconnect2.c
index 41e79084230..369cf4cff20 100644
--- a/usr.bin/ssh/sshconnect2.c
+++ b/usr.bin/ssh/sshconnect2.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.147 2006/03/07 09:07:40 djm Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.148 2006/03/19 07:41:30 djm Exp $");
#include <sys/types.h>
#include <sys/wait.h>
@@ -513,8 +513,10 @@ userauth_gssapi(Authctxt *authctxt)
}
}
- if (!ok)
+ if (!ok) {
+ ssh_gssapi_delete_ctx(&gssctxt);
return 0;
+ }
authctxt->methoddata=(void *)gssctxt;
@@ -1330,6 +1332,7 @@ userauth_hostbased(Authctxt *authctxt)
if (p == NULL) {
error("userauth_hostbased: cannot get local ipaddr/name");
key_free(private);
+ xfree(blob);
return 0;
}
len = strlen(p) + 2;
@@ -1368,6 +1371,7 @@ userauth_hostbased(Authctxt *authctxt)
error("key_sign failed");
xfree(chost);
xfree(pkalg);
+ xfree(blob);
return 0;
}
packet_start(SSH2_MSG_USERAUTH_REQUEST);
@@ -1383,6 +1387,7 @@ userauth_hostbased(Authctxt *authctxt)
xfree(signature);
xfree(chost);
xfree(pkalg);
+ xfree(blob);
packet_send();
return 1;