Skip to content
Snippets Groups Projects
Commit c2efb878 authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

when shutting down a server with open connections (back-{ldap,meta}),

the backend attempts a ldap_unbind() that results in calling
ldap_pvt_sasl_mutex_lock() with a NULL argument, causing a SIGSEGV.
I added a few assert() to catch this (I wonder if this might
be related to ITS#1982 "kill -INT corrupts database").
parent 58b860a1
No related branches found
No related tags found
No related merge requests found
......@@ -1103,23 +1103,27 @@ void *ldap_pvt_sasl_mutex_new(void)
if ( ldap_pvt_thread_mutex_init( mutex ) == 0 ) {
return mutex;
}
assert( 0 );
return NULL;
}
int ldap_pvt_sasl_mutex_lock(void *mutex)
{
assert( mutex );
return ldap_pvt_thread_mutex_lock( (ldap_pvt_thread_mutex_t *)mutex )
? SASL_FAIL : SASL_OK;
}
int ldap_pvt_sasl_mutex_unlock(void *mutex)
{
assert( mutex );
return ldap_pvt_thread_mutex_unlock( (ldap_pvt_thread_mutex_t *)mutex )
? SASL_FAIL : SASL_OK;
}
void ldap_pvt_sasl_mutex_dispose(void *mutex)
{
assert( mutex );
(void) ldap_pvt_thread_mutex_destroy( (ldap_pvt_thread_mutex_t *)mutex );
LDAP_FREE( mutex );
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment