From: Greg Hudson Date: Mon, 24 Sep 2012 20:57:24 +0000 (-0400) Subject: Fix t_s4u2proxy_krb5 cleanup X-Git-Tag: krb5-1.11-alpha1~162 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8f795859eb75e855c44a027db2194eac5d282f73;p=thirdparty%2Fkrb5.git Fix t_s4u2proxy_krb5 cleanup Unlike most GSS test programs, t_s4u2proxy_krb5 uses a cleanup handler, so we have to be careful to initialize everything we clean up--particularly service2_name, which is initialized after a possible goto. Also, remember to release acceptor_name. --- diff --git a/src/tests/gssapi/t_s4u2proxy_krb5.c b/src/tests/gssapi/t_s4u2proxy_krb5.c index 4de6ed1c6c..6108715025 100644 --- a/src/tests/gssapi/t_s4u2proxy_krb5.c +++ b/src/tests/gssapi/t_s4u2proxy_krb5.c @@ -58,7 +58,8 @@ main(int argc, char *argv[]) gss_buffer_desc buf = GSS_C_EMPTY_BUFFER, token = GSS_C_EMPTY_BUFFER; gss_OID mech; gss_OID_set mechs; - gss_name_t acceptor_name, service1_name, service2_name, client_name; + gss_name_t acceptor_name = GSS_C_NO_NAME, client_name = GSS_C_NO_NAME; + gss_name_t service1_name = GSS_C_NO_NAME, service2_name = GSS_C_NO_NAME; gss_cred_id_t service1_cred = GSS_C_NO_CREDENTIAL; gss_cred_id_t deleg_cred = GSS_C_NO_CREDENTIAL; gss_ctx_id_t initiator_context = GSS_C_NO_CONTEXT; @@ -168,6 +169,7 @@ main(int argc, char *argv[]) (void)gss_release_buffer(&minor, &buf); cleanup: + (void)gss_release_name(&minor, &acceptor_name); (void)gss_release_name(&minor, &client_name); (void)gss_release_name(&minor, &service1_name); (void)gss_release_name(&minor, &service2_name);