krb5 commit [krb5-1.14]: Fix SPNEGO imported cred initialization

Tom Yu tlyu at mit.edu
Fri Sep 2 17:04:33 EDT 2016


https://github.com/krb5/krb5/commit/edd5eb47350c3d311c75fa97d0885338a2483677
commit edd5eb47350c3d311c75fa97d0885338a2483677
Author: Greg Hudson <ghudson at mit.edu>
Date:   Wed Jul 20 17:08:55 2016 -0400

    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).
    
    (cherry picked from commit 1bedcf7fc43e45882edcb9eb17d0852a30babae3)
    
    ticket: 8460
    version_fixed: 1.14.4

 src/lib/gssapi/spnego/spnego_mech.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
index 5f1ca33..07435d8 100644
--- a/src/lib/gssapi/spnego/spnego_mech.c
+++ b/src/lib/gssapi/spnego/spnego_mech.c
@@ -2979,14 +2979,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);
 }


More information about the cvs-krb5 mailing list