]> git.sur5r.net Git - openldap/commitdiff
Backend lock wasn't being released properly.
authorKurt Zeilenga <kurt@openldap.org>
Fri, 16 Jul 1999 00:16:54 +0000 (00:16 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 16 Jul 1999 00:16:54 +0000 (00:16 +0000)
servers/slapd/back-bdb2/modify.c

index 9e891e6a788415f0c91b013f6e0d17655bd895b8..e158f6cdefe5d16473aef0b01e30fdc2cbf543b8 100644 (file)
@@ -230,13 +230,17 @@ bdb2_back_modify(
        if ( (e = bdb2i_dn2entry_w( be, dn, &matched )) == NULL ) {
                send_ldap_result( conn, op, LDAP_NO_SUCH_OBJECT, matched,
                    NULL );
+
                if ( matched != NULL ) {
                        free( matched );
                }
-               return( -1 );
+
+               ret = -1;
+
+       } else {
+               ret = bdb2i_back_modify_internal( be, conn, op, dn, modlist, e );
        }
 
-        ret = bdb2i_back_modify_internal( be, conn, op, dn, modlist, e );
        (void) bdb2i_leave_backend_w( lock );
        bdb2i_stop_timing( be->bd_info, time1, "MOD", conn, op );