]> git.sur5r.net Git - openldap/blobdiff - libraries/librewrite/session.c
plug potential ld_error leak (ITS#4064)
[openldap] / libraries / librewrite / session.c
index 18e21a5fe142ec6b5c196ad141f4f1cde5cd3b02..bd0685167c926dab95868cd30e893df163a7e7d3 100644 (file)
@@ -177,7 +177,7 @@ rewrite_session_return(
                struct rewrite_session *session
 )
 {
-       assert( session );
+       assert( session != NULL );
        ldap_pvt_thread_mutex_unlock( &session->ls_mutex );
 }
 
@@ -204,6 +204,13 @@ rewrite_session_var_set_f(
        session = rewrite_session_find( info, cookie );
        if ( session == NULL ) {
                session = rewrite_session_init( info, cookie );
+               if ( session == NULL ) {
+                       return REWRITE_ERR;
+               }
+
+#ifdef USE_REWRITE_LDAP_PVT_THREADS
+               ldap_pvt_thread_mutex_lock( &session->ls_mutex );
+#endif /* USE_REWRITE_LDAP_PVT_THREADS */
        }
 
 #ifdef USE_REWRITE_LDAP_PVT_THREADS