X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldbm%2Fdn2id.c;h=683d30a2e56c4019e6c484bb812c0d6d140790ab;hb=573e279d8769b0b74cdf63c21653f261cb741f25;hp=7cc4aec1e20facc0fd999993ffdcfa33430ab42a;hpb=350544db0309df18fead3d55e3b5c3fe5d4f7dfb;p=openldap diff --git a/servers/slapd/back-ldbm/dn2id.c b/servers/slapd/back-ldbm/dn2id.c index 7cc4aec1e2..683d30a2e5 100644 --- a/servers/slapd/back-ldbm/dn2id.c +++ b/servers/slapd/back-ldbm/dn2id.c @@ -133,12 +133,15 @@ dn2id_delete( return( -1 ); } + dn = ch_strdup( dn ); dn_normalize_case( dn ); key.dptr = dn; key.dsize = strlen( dn ) + 1; rc = ldbm_cache_delete( db, key ); + free( dn ); + ldbm_cache_close( be, db ); Debug( LDAP_DEBUG_TRACE, "<= dn2id_delete %d\n", rc, 0, 0 ); @@ -174,6 +177,14 @@ dn2entry( return( e ); } + if ( id != NOID ) { + Debug(LDAP_DEBUG_ANY, + "dn2entry_%s: no entry for valid id (%lu), dn \"%s\"\n", + rw ? "w" : "r", id, dn); + /* must have been deleted from underneath us */ + /* treat as if NOID was found */ + } + /* stop when we get to the suffix */ if ( be_issuffix( be, dn ) ) { return( NULL );