Full_Name: Hallvard B Furuseth
Version: HEAD
OS: Linux
URL:
Submission from: (NULL) (129.240.202.105)
overlays/refint.c:refint_close() does
refint_data *id = on->on_bi.bi_private;
memset( id, 0, sizeof(*id));
which overwrites id->qmutex. Then refint_db_destroy() does
ldap_pvt_thread_mutex_destroy( &id->qmutex );
which can fail.
I don't know what the required lifetime for that mutex is -
if refint_close() must preserve it, or if it can destroy it
and set on->on_bi.bi_private = NULL (so refint_db_destroy
will do nothing), or something else.