cyrus-sasl/cyrus-sasl-2.1.26-release-s...

17 lines
710 B
Diff

diff -up cyrus-sasl-2.1.27/plugins/gssapi.c.release-server_creds cyrus-sasl-2.1.27/plugins/gssapi.c
--- cyrus-sasl-2.1.27/plugins/gssapi.c.release-server_creds 2015-11-20 15:24:57.706740573 +0100
+++ cyrus-sasl-2.1.27/plugins/gssapi.c 2015-11-20 15:26:00.310597014 +0100
@@ -945,6 +945,12 @@ gssapi_server_mech_authneg(context_t *te
ret = SASL_CONTINUE;
}
+ /* Release server creds which are no longer needed */
+ if ( text->server_creds != GSS_C_NO_CREDENTIAL) {
+ maj_stat = gss_release_cred(&min_stat, &text->server_creds);
+ text->server_creds = GSS_C_NO_CREDENTIAL;
+ }
+
cleanup:
if (text->server_creds != GSS_C_NO_CREDENTIAL) {
GSS_LOCK_MUTEX(params->utils);