summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/krb5
diff options
context:
space:
mode:
authorBen Kaduk <kaduk@mit.edu>2012-09-12 11:35:04 -0400
committerBen Kaduk <kaduk@mit.edu>2012-09-12 13:41:48 -0400
commit4ab584c830024757cc628b1783dde6220a9fec6d (patch)
tree631279c0c60c22399aba406583122391202133be /src/lib/gssapi/krb5
parenteabc8e91c70031a8e9dc1da1341201c89cbd898c (diff)
downloadkrb5-4ab584c830024757cc628b1783dde6220a9fec6d.tar.gz
krb5-4ab584c830024757cc628b1783dde6220a9fec6d.tar.xz
krb5-4ab584c830024757cc628b1783dde6220a9fec6d.zip
Unregister error message key on library unload
Revision fcdd2de1 added the K5_KEY_GSS_KRB5_ERROR_MESSAGE key, and registered it in the gssapi library initialization routine, but did not unregister it in the libary finalization routine. When the library is unloaded and reloaded in the same process, this leads to an assertion failure, since we check that destructors_set[keynum] is zero (no destructor set) when registering a key in util/support/threads.c. Unregister the key on library cleanup to resolve the error. ticket: 7353 target_version: 1.10.4 tags: pullup
Diffstat (limited to 'src/lib/gssapi/krb5')
-rw-r--r--src/lib/gssapi/krb5/gssapi_krb5.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/gssapi/krb5/gssapi_krb5.c b/src/lib/gssapi/krb5/gssapi_krb5.c
index bff9f78d2..31f705d82 100644
--- a/src/lib/gssapi/krb5/gssapi_krb5.c
+++ b/src/lib/gssapi/krb5/gssapi_krb5.c
@@ -1023,6 +1023,7 @@ void gss_krb5int_lib_fini(void)
k5_key_delete(K5_KEY_GSS_KRB5_SET_CCACHE_OLD_NAME);
k5_key_delete(K5_KEY_GSS_KRB5_CCACHE_NAME);
+ k5_key_delete(K5_KEY_GSS_KRB5_ERROR_MESSAGE);
k5_mutex_destroy(&kg_vdb.mutex);
#ifndef _WIN32
k5_mutex_destroy(&kg_kdc_flag_mutex);