heimdal: import heimdal's trunk svn rev 23697 + lorikeet-heimdal patches
[amitay/samba.git] / source4 / heimdal / lib / gssapi / mech / gss_inquire_cred_by_mech.c
index a4ace9e9e93e3d200e87e0bb5eaf8e38960451ee..47a2eaf27998a82d1a0eb27175002213123aad63 100644 (file)
@@ -27,9 +27,9 @@
  */
 
 #include "mech_locl.h"
-RCSID("$Id: gss_inquire_cred_by_mech.c 19960 2007-01-17 15:09:24Z lha $");
+RCSID("$Id$");
 
-OM_uint32
+OM_uint32 GSSAPI_LIB_FUNCTION
 gss_inquire_cred_by_mech(OM_uint32 *minor_status,
     const gss_cred_id_t cred_handle,
     const gss_OID mech_type,
@@ -78,12 +78,16 @@ gss_inquire_cred_by_mech(OM_uint32 *minor_status,
                return (major_status);
        }
 
-       name = _gss_make_name(m, mn);
-       if (!name) {
+       if (cred_name) {
+           name = _gss_make_name(m, mn);
+           if (!name) {
                m->gm_release_name(minor_status, &mn);
                return (GSS_S_NO_CRED);
-       }
+           }
+           *cred_name = (gss_name_t) name;
+       } else
+           m->gm_release_name(minor_status, &mn);
+
 
-       *cred_name = (gss_name_t) name;
        return (GSS_S_COMPLETE);
 }