X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibrewrite%2Fsession.c;h=bd0685167c926dab95868cd30e893df163a7e7d3;hb=385aebc806d220540252126e40a9f436a40d0865;hp=4d05dd1fcea4ffa36d2a705b6df3750bea707647;hpb=3c598e89fb34a892d369a138daa8c3314294493c;p=openldap diff --git a/libraries/librewrite/session.c b/libraries/librewrite/session.c index 4d05dd1fce..bd0685167c 100644 --- a/libraries/librewrite/session.c +++ b/libraries/librewrite/session.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2004 The OpenLDAP Foundation. + * Copyright 2000-2005 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -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