From: Simo Sorce Date: Fri, 13 Dec 2013 17:00:41 +0000 (-0500) Subject: Fix memory leak in SPNEGO initiator X-Git-Tag: krb5-1.13-alpha1~290 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1cda48a7ed4069cfc052f974ec3d76a9137c8c5a;p=thirdparty%2Fkrb5.git Fix memory leak in SPNEGO initiator If we eliminate a mechanism from the initiator list because gss_init_sec_context fails, free the memory for that mech OID before removing it from the list. [ghudson@mit.edu: clarified commit message] ticket: 7803 (new) target_version: 1.12.1 tags: pullup --- diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c index 818a1b4439..06cfab00f8 100644 --- a/src/lib/gssapi/spnego/spnego_mech.c +++ b/src/lib/gssapi/spnego/spnego_mech.c @@ -890,6 +890,7 @@ init_ctx_call_init(OM_uint32 *minor_status, * can do this with recursion. If all mechanisms produce errors, the * caller should get the error from the first mech in the list. */ + gssalloc_free(sc->mech_set->elements->elements); memmove(sc->mech_set->elements, sc->mech_set->elements + 1, --sc->mech_set->count * sizeof(*sc->mech_set->elements)); if (sc->mech_set->count == 0)