pull up r23772 from trunk
authorTom Yu <tlyu@mit.edu>
Mon, 15 Mar 2010 23:50:49 +0000 (23:50 +0000)
committerTom Yu <tlyu@mit.edu>
Mon, 15 Mar 2010 23:50:49 +0000 (23:50 +0000)
 ------------------------------------------------------------------------
 r23772 | ghudson | 2010-03-05 15:35:26 -0500 (Fri, 05 Mar 2010) | 7 lines

 ticket: 6674
 target_version: 1.8.1
 tags: pullup

 Release the internal_name field of a SPNEGO context if it has not been
 claimed for a caller argument.

ticket: 6674
status: resolved
version_fixed: 1.8.1

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-8@23808 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/gssapi/spnego/spnego_mech.c

index cb286bc5cc1de80d4f10103c9233a8c46db400d6..7a3ff2426b1c933cb25fbb3b9e4cc0e40d794509 100644 (file)
@@ -1693,6 +1693,7 @@ cleanup:
                if (sc->internal_name != GSS_C_NO_NAME &&
                    src_name != NULL) {
                        *src_name = sc->internal_name;
+                       sc->internal_name = GSS_C_NO_NAME;
                }
                release_spnego_ctx(&sc);
        } else if (ret != GSS_S_CONTINUE_NEEDED) {
@@ -2578,6 +2579,8 @@ release_spnego_ctx(spnego_gss_ctx_id_t *ctx)
                (void) generic_gss_release_oid(&minor_stat,
                                &context->internal_mech);
 
+               (void) gss_release_name(&minor_stat, &context->internal_name);
+
                if (context->optionStr != NULL) {
                        free(context->optionStr);
                        context->optionStr = NULL;