summaryrefslogtreecommitdiff
path: root/gss-genr.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2006-08-30 11:08:04 +1000
committerDamien Miller <djm@mindrot.org>2006-08-30 11:08:04 +1000
commit76758b6423a2567b07927139d7d5538f14cb331b (patch)
treed90967df545f3a1d0ca95f380a24b15316610745 /gss-genr.c
parentd5fe0baa73a168a1194b311aeff9fd824b038740 (diff)
downloadopenssh-git-76758b6423a2567b07927139d7d5538f14cb331b.tar.gz
- dtucker@cvs.openbsd.org 2006/08/29 12:02:30
[gss-genr.c] Work around a problem in Heimdal that occurs when KRB5CCNAME file is missing, by checking whether or not kerberos allocated us a context before attempting to free it. Patch from Simon Wilkinson, tested by biorn@, ok djm@
Diffstat (limited to 'gss-genr.c')
-rw-r--r--gss-genr.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gss-genr.c b/gss-genr.c
index e962942d..57f12a2d 100644
--- a/gss-genr.c
+++ b/gss-genr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: gss-genr.c,v 1.16 2006/08/18 22:41:29 djm Exp $ */
+/* $OpenBSD: gss-genr.c,v 1.17 2006/08/29 12:02:30 dtucker Exp $ */
/*
* Copyright (c) 2001-2006 Simon Wilkinson. All rights reserved.
@@ -310,8 +310,9 @@ ssh_gssapi_check_mechanism(Gssctxt **ctx, gss_OID oid, const char *host)
major = ssh_gssapi_init_ctx(*ctx, 0, GSS_C_NO_BUFFER, &token,
NULL);
gss_release_buffer(&minor, &token);
- gss_delete_sec_context(&minor, &(*ctx)->context,
- GSS_C_NO_BUFFER);
+ if ((*ctx)->context != GSS_C_NO_CONTEXT)
+ gss_delete_sec_context(&minor, &(*ctx)->context,
+ GSS_C_NO_BUFFER);
}
if (GSS_ERROR(major))