]> git.sur5r.net Git - openldap/blobdiff - libraries/librewrite/xmap.c
Fix dangling lock (coverity)
[openldap] / libraries / librewrite / xmap.c
index 4e92d87b513c0fd172baea1e3a6a4013d60faa67..430d6b236df9d4d3fc8304faee7aa34626779d80 100644 (file)
@@ -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 );