ret = gss_import_cred(minor_status, token, &mcred);
if (GSS_ERROR(ret))
return (ret);
- spcred = malloc(sizeof(*spcred));
- if (spcred == NULL) {
- gss_release_cred(minor_status, &mcred);
- *minor_status = ENOMEM;
- return (GSS_S_FAILURE);
- }
- spcred->mcred = mcred;
- spcred->neg_mechs = GSS_C_NULL_OID_SET;
+
+ ret = create_spnego_cred(minor_status, mcred, &spcred);
+ if (GSS_ERROR(ret))
+ return (ret);
+
*cred_handle = (gss_cred_id_t)spcred;
return (ret);
}