From 08bb397dbc8e098048683cefdfe8c15b7c17dcf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Tue, 30 Nov 2004 19:27:11 +0000 Subject: [PATCH] Reverse order of HEIMDAL_MUTEX_unlock and gss_release_cred to avoid deadlock, from Luke Howard . git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14360 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/inquire_cred.c | 3 ++- lib/gssapi/krb5/inquire_cred.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/gssapi/inquire_cred.c b/lib/gssapi/inquire_cred.c index 193347ab6..1663d2cb1 100644 --- a/lib/gssapi/inquire_cred.c +++ b/lib/gssapi/inquire_cred.c @@ -114,9 +114,10 @@ OM_uint32 gss_inquire_cred } ret = GSS_S_COMPLETE; out: + HEIMDAL_MUTEX_unlock(&cred->cred_id_mutex); + if (cred_handle == GSS_C_NO_CREDENTIAL) ret = gss_release_cred(minor_status, &cred); - HEIMDAL_MUTEX_unlock(&cred->cred_id_mutex); return ret; } diff --git a/lib/gssapi/krb5/inquire_cred.c b/lib/gssapi/krb5/inquire_cred.c index 193347ab6..1663d2cb1 100644 --- a/lib/gssapi/krb5/inquire_cred.c +++ b/lib/gssapi/krb5/inquire_cred.c @@ -114,9 +114,10 @@ OM_uint32 gss_inquire_cred } ret = GSS_S_COMPLETE; out: + HEIMDAL_MUTEX_unlock(&cred->cred_id_mutex); + if (cred_handle == GSS_C_NO_CREDENTIAL) ret = gss_release_cred(minor_status, &cred); - HEIMDAL_MUTEX_unlock(&cred->cred_id_mutex); return ret; }