more error handling improvements
[mech_eap.orig] / delete_sec_context.c
index 75b09f1..cb3e0eb 100644 (file)
@@ -65,8 +65,10 @@ gss_delete_sec_context(OM_uint32 *minor,
 
         major = gssEapWrapOrGetMIC(minor, ctx, FALSE, FALSE,
                                    iov, 2, TOK_TYPE_DELETE_CONTEXT);
-        if (GSS_ERROR(major))
+        if (GSS_ERROR(major)) {
+            GSSEAP_MUTEX_UNLOCK(&ctx->mutex);
             return major;
+        }
     }
 
     GSSEAP_MUTEX_UNLOCK(&ctx->mutex);