Skip to content
Snippets Groups Projects
Commit 7c65afc2 authored by Howard Chu's avatar Howard Chu Committed by Howard Chu
Browse files

Fix dangling lock (coverity)

parent 2574e50b
No related branches found
No related tags found
No related merge requests found
......@@ -100,6 +100,9 @@ rewrite_session_init(
session = calloc( sizeof( struct rewrite_session ), 1 );
if ( session == NULL ) {
#ifdef USE_REWRITE_LDAP_PVT_THREADS
ldap_pvt_thread_rdwr_wunlock( &info->li_cookies_mutex );
#endif /* USE_REWRITE_LDAP_PVT_THREADS */
return NULL;
}
session->ls_cookie = ( void * )cookie;
......@@ -108,11 +111,13 @@ rewrite_session_init(
#ifdef USE_REWRITE_LDAP_PVT_THREADS
if ( ldap_pvt_thread_mutex_init( &session->ls_mutex ) ) {
free( session );
ldap_pvt_thread_rdwr_wunlock( &info->li_cookies_mutex );
return NULL;
}
if ( ldap_pvt_thread_rdwr_init( &session->ls_vars_mutex ) ) {
ldap_pvt_thread_mutex_destroy( &session->ls_mutex );
free( session );
ldap_pvt_thread_rdwr_wunlock( &info->li_cookies_mutex );
return NULL;
}
#endif /* USE_REWRITE_LDAP_PVT_THREADS */
......@@ -122,7 +127,7 @@ rewrite_session_init(
info->li_num_cookies++;
#ifdef USE_REWRITE_LDAP_PVT_THREADS
ldap_pvt_thread_rdwr_wunlock( &info->li_cookies_mutex );
ldap_pvt_thread_rdwr_wunlock( &info->li_cookies_mutex );
#endif /* USE_REWRITE_LDAP_PVT_THREADS */
if ( rc != 0 ) {
......
......@@ -335,7 +335,11 @@ rewrite_xmap_apply(
&& ( p = strtok( NULL, "" ) ) ) {
val->bv_val = strdup( p );
if ( val->bv_val == NULL ) {
return REWRITE_ERR;
#ifdef USE_REWRITE_LDAP_PVT_THREADS
ldap_pvt_thread_mutex_unlock( &map->lm_mutex );
#endif /* USE_REWRITE_LDAP_PVT_THREADS */
rc = REWRITE_ERR;
goto rc_return;
}
val->bv_len = strlen( p );
......
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