krb5 commit: Unregister error message key on library unload

Benjamin Kaduk kaduk at MIT.EDU
Wed Sep 12 13:42:08 EDT 2012


https://github.com/krb5/krb5/commit/4ab584c830024757cc628b1783dde6220a9fec6d
commit 4ab584c830024757cc628b1783dde6220a9fec6d
Author: Ben Kaduk <kaduk at mit.edu>
Date:   Wed Sep 12 11:35:04 2012 -0400

    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

 src/lib/gssapi/krb5/gssapi_krb5.c |    1 +
 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 bff9f78..31f705d 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);


More information about the cvs-krb5 mailing list