]> git.sur5r.net Git - openldap/commitdiff
ITS#2780, redundant cache add
authorHoward Chu <hyc@openldap.org>
Sun, 19 Oct 2003 09:55:31 +0000 (09:55 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 19 Oct 2003 09:55:31 +0000 (09:55 +0000)
servers/slapd/back-bdb/cache.c

index f18e21ce20ae1f725dcc26fb252ee5a8d644b122..234f2cf85dd31ff0f59c696a8be1292664741d16 100644 (file)
@@ -744,6 +744,8 @@ bdb_cache_add(
        if ( eip->bei_dkids ) eip->bei_dkids++;
 #endif
        rc = bdb_entryinfo_add_internal( bdb, &ei, &new );
+       /* bdb_csn_commit can cause this when adding the database root entry */
+       if ( new->bei_e ) bdb_entry_return( new->bei_e );
        new->bei_e = e;
        e->e_private = new;
        new->bei_state = CACHE_ENTRY_NO_KIDS | CACHE_ENTRY_NO_GRANDKIDS;