From: Greg Hudson Date: Wed, 20 Jul 2016 21:08:55 +0000 (-0400) Subject: Fix SPNEGO imported cred initialization X-Git-Tag: krb5-1.15-beta1~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1bedcf7fc43e45882edcb9eb17d0852a30babae3;p=thirdparty%2Fkrb5.git Fix SPNEGO imported cred initialization In spnego_gss_import_cred(), use create_spnego_cred() to create the SPNEGO credential structure. Prior to this change, an imported SPNEGO cred did not initialize the no_ask_integ field (added by commit cf39ed349976908626cad3e05e17788f8334bce9, ticket #6938). ticket: 8460 (new) target_version: 1.14-next tags: pullup --- diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c index 7862d98e3a..9d6027ce80 100644 --- a/src/lib/gssapi/spnego/spnego_mech.c +++ b/src/lib/gssapi/spnego/spnego_mech.c @@ -2993,14 +2993,11 @@ spnego_gss_import_cred(OM_uint32 *minor_status, 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); }