]> git.sur5r.net Git - openldap/commitdiff
backport slap_add_opattrs() error checking
authorKurt Zeilenga <kurt@openldap.org>
Sat, 25 Nov 2006 06:08:29 +0000 (06:08 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sat, 25 Nov 2006 06:08:29 +0000 (06:08 +0000)
CHANGES
servers/slapd/back-bdb/add.c
servers/slapd/back-ldbm/add.c

diff --git a/CHANGES b/CHANGES
index 5713271d9c19c56c3dc924876b575413e5b324b2..6888e5cf2f12a9eb38097b4a6e290810181344d7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,7 @@ OpenLDAP 2.3 Change Log
 OpenLDAP 2.3.31 Engineering
        Fixed slapd group ACL caching when proxyAuthz'ing (ITS#4760)
        Fixed slapd "group" authz default member parsing (ITS#4761)
+       Fixed slapd-bdb/hdb/ldbm slap_add_opattrs error checking
        Documentation
                Fixed typo in slapo-retcode(5) man page (ITS#4753)
 
@@ -19,7 +20,7 @@ OpenLDAP 2.3.29 Release
        Fixed libldap string length assert (ITS#4740)
        Fixed liblunicode case mapping (ITS#4724)
        Fixed slapd ldapi:// socket permissions (ITS#4709)
-       Fixed slapd c_writewaiters assert (ITS#4696, #4736)
+       Fixed slapd c_writewaiters assert (ITS#4696,4736)
        Fixed slapo-accesslog purge contextCSN bug (ITS#4704)
        Fixed slapo-accesslog modify/replace bug (ITS#4728)
        Fixed slapo-dynlist leaks (ITS#4664)
index 7642e235df2c01f0ed79fabde3d263c0fa8a7042..59decd1ee27d84370a235de9f9fd66fe39dc7476 100644 (file)
@@ -51,7 +51,13 @@ bdb_add(Operation *op, SlapReply *rs )
 
        /* add opattrs to shadow as well, only missing attrs will actually
         * be added; helps compatibility with older OL versions */
-       slap_add_opattrs( op, &rs->sr_text, textbuf, textlen, 1 );
+       rs->sr_err = slap_add_opattrs( op, &rs->sr_text, textbuf, textlen, 1 );
+       if ( rs->sr_err != LDAP_SUCCESS ) {
+               Debug( LDAP_DEBUG_TRACE,
+                       LDAP_XSTRING(bdb_add) ": entry failed op attrs add: "
+                       "%s (%d)\n", rs->sr_text, rs->sr_err, 0 );
+               goto return_results;
+       }
 
        /* check entry's schema */
        rs->sr_err = entry_schema_check( op, op->oq_add.rs_e, NULL,
index d953e93df685cff94aa6d395e6e84af7c44aef17..ae488d143c40531bdeb1ba4170a7c4c86b862060 100644 (file)
@@ -56,7 +56,13 @@ ldbm_back_add(
        Debug(LDAP_DEBUG_ARGS, "==> ldbm_back_add: %s\n",
                op->o_req_dn.bv_val, 0, 0);
        
-       slap_add_opattrs( op, &rs->sr_text, textbuf, textlen, 1 );
+       rs->sr_err = slap_add_opattrs( op, &rs->sr_text, textbuf, textlen, 1 );
+       if ( rs->sr_err != LDAP_SUCCESS ) {
+               Debug( LDAP_DEBUG_TRACE,
+                       "entry failed op attrs add: %s (%d)\n",
+                       rs->sr_text, rs->sr_err, 0 );
+               goto return_results;
+       }
 
        cb.sc_cleanup = ldbm_csn_cb;
        cb.sc_next = op->o_callback;