]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/add.c
Fix ITS#3255, boi_bdb comparisons
[openldap] / servers / slapd / back-bdb / add.c
index 67a24b73d05414259036893cf21a1c6cd5e9b240..6174a516167868d07a9399669df41b0ebf1dd65c 100644 (file)
@@ -27,7 +27,7 @@ bdb_add(Operation *op, SlapReply *rs )
 {
        struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
        struct berval   pdn;
-       Entry           *p;
+       Entry           *p = NULL;
        EntryInfo       *ei;
        char textbuf[SLAP_TEXT_BUFLEN];
        size_t textlen = sizeof textbuf;
@@ -504,8 +504,18 @@ retry:     /* transaction retry */
                        ldap_pvt_thread_rdwr_wlock( &bdb->bi_pslist_rwlock );
                        assert( BEI(e) );
                        LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
-                               bdb_psearch( op, rs, ps_list, e,
-                                       LDAP_PSEARCH_BY_ADD );
+                               rc = bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_ADD );
+                               if ( rc ) {
+#ifdef NEW_LOGGING
+                                       LDAP_LOG ( OPERATION, ERR, 
+                                               "bdb_add: persistent search failed (%d,%d)\n",
+                                               rc, rs->sr_err, 0 );
+#else
+                                       Debug( LDAP_DEBUG_TRACE,
+                                               "bdb_add: persistent search failed (%d,%d)\n",
+                                               rc, rs->sr_err, 0 );
+#endif
+                               }
                        }
                        ldap_pvt_thread_rdwr_wunlock( &bdb->bi_pslist_rwlock );
                }