Better error reporting through com_err
[mech_eap.git] / inquire_cred.c
index 2b34c4d..05ae554 100644 (file)
@@ -42,8 +42,13 @@ gss_inquire_cred(OM_uint32 *minor,
 {
     OM_uint32 major = GSS_S_COMPLETE;
 
+    if (cred == NULL)
+        return GSS_S_NO_CRED;
+
+    GSSEAP_MUTEX_LOCK(&cred->mutex);
+
     if (name != NULL) {
-        major = gss_duplicate_name(minor, cred->name, name);
+        major = gssEapDuplicateName(minor, cred->name, name);
         if (GSS_ERROR(major))
             goto cleanup;
     }
@@ -89,5 +94,7 @@ gss_inquire_cred(OM_uint32 *minor,
     }
 
 cleanup:
+    GSSEAP_MUTEX_UNLOCK(&cred->mutex);
+
     return major;
 }