From: Pierangelo Masarati Date: Tue, 31 Jul 2001 10:54:39 +0000 (+0000) Subject: fix typo; try to delete dn2id in case of late failure X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~1179 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=419a5ae8c9f0348b3a745a5a77039d78cc093404;p=openldap fix typo; try to delete dn2id in case of late failure --- diff --git a/servers/slapd/back-ldbm/modrdn.c b/servers/slapd/back-ldbm/modrdn.c index a523dc5504..4800e62d8a 100644 --- a/servers/slapd/back-ldbm/modrdn.c +++ b/servers/slapd/back-ldbm/modrdn.c @@ -587,7 +587,7 @@ ldbm_back_modrdn( goto return_results; } - val.bv_val = old_rdn_vals[a_cnt]; + val.bv_val = old_rdn_vals[d_cnt]; val.bv_len = strlen( val.bv_val ); if ( ! access_allowed( be, conn, op, p, mod_tmp->sml_desc, &val, ACL_WRITE ) ) { @@ -595,12 +595,12 @@ ldbm_back_modrdn( LDAP_LOG(( "backend", LDAP_LEVEL_INFO, "ldbm_back_modrdn: access " "not allowed to attr \"%s\"\n", - old_rdn_types[a_cnt] )); + old_rdn_types[d_cnt] )); #else Debug( LDAP_DEBUG_TRACE, "ldbm_back_modrdn: access not allowed " "to attr \"%s\"\n%s%s", - old_rdn_types[a_cnt], "", "" ); + old_rdn_types[d_cnt], "", "" ); #endif send_ldap_result( conn, op, LDAP_INSUFFICIENT_ACCESS, @@ -672,8 +672,14 @@ ldbm_back_modrdn( send_ldap_result( conn, op, rc, NULL, text, NULL, NULL ); } + + /* here we may try to delete the newly added dn */ + if ( dn2id_delete( be, e->e_ndn, e->e_id ) != 0 ) { + /* we already are in trouble ... */ + ; + } - goto return_results; + goto return_results; } (void) cache_update_entry( &li->li_cache, e );