summaryrefslogtreecommitdiff
path: root/sshconnect2.c
diff options
context:
space:
mode:
authordjm <djm>2006-03-26 02:54:03 +0000
committerdjm <djm>2006-03-26 02:54:03 +0000
commitd373303ba3edd15f95168f005707da600fe13bbe (patch)
tree7f48d4a81522e1b65b8618a032dab126f2b10cef /sshconnect2.c
parent1c1486cece51f3c531474d120a51d469a2b0fe86 (diff)
downloadopenssh-d373303ba3edd15f95168f005707da600fe13bbe.tar.gz
- djm@cvs.openbsd.org 2006/03/19 07:41:30
[sshconnect2.c] memory leaks detected by Coverity via elad AT netbsd.org; deraadt@ ok
Diffstat (limited to 'sshconnect2.c')
-rw-r--r--sshconnect2.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sshconnect2.c b/sshconnect2.c
index b7aa96e3..f8d21489 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -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;