=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/sshconnect2.c,v retrieving revision 1.147 retrieving revision 1.148 diff -u -r1.147 -r1.148 --- src/usr.bin/ssh/sshconnect2.c 2006/03/07 09:07:40 1.147 +++ src/usr.bin/ssh/sshconnect2.c 2006/03/19 07:41:30 1.148 @@ -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 #include @@ -513,8 +513,10 @@ } } - if (!ok) + if (!ok) { + ssh_gssapi_delete_ctx(&gssctxt); return 0; + } authctxt->methoddata=(void *)gssctxt; @@ -1330,6 +1332,7 @@ 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 @@ error("key_sign failed"); xfree(chost); xfree(pkalg); + xfree(blob); return 0; } packet_start(SSH2_MSG_USERAUTH_REQUEST); @@ -1383,6 +1387,7 @@ xfree(signature); xfree(chost); xfree(pkalg); + xfree(blob); packet_send(); return 1;