From: Howard Chu Date: Wed, 3 Jan 2007 20:28:56 +0000 (+0000) Subject: Remember our own success code in case an overlay changes it X-Git-Tag: OPENLDAP_REL_ENG_2_4_4ALPHA~8^2~270 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e094bef172b36b0c330c47498e49fb51c0429203;p=openldap Remember our own success code in case an overlay changes it --- diff --git a/servers/slapd/back-bdb/add.c b/servers/slapd/back-bdb/add.c index aa82328bb5..1f70e8ef40 100644 --- a/servers/slapd/back-bdb/add.c +++ b/servers/slapd/back-bdb/add.c @@ -39,6 +39,7 @@ bdb_add(Operation *op, SlapReply *rs ) DB_LOCK lock; int num_retries = 0; + int success; LDAPControl **postread_ctrl = NULL; LDAPControl *ctrls[SLAP_MAX_RESPONSE_CONTROLS]; @@ -457,6 +458,7 @@ retry: /* transaction retry */ if( num_ctrls ) rs->sr_ctrls = ctrls; return_results: + success = rs->sr_err; send_ldap_result( op, rs ); slap_graduate_commit_csn( op ); @@ -465,7 +467,7 @@ return_results: } op->o_private = NULL; - if( rs->sr_err == LDAP_SUCCESS ) { + if( success == LDAP_SUCCESS ) { /* We own the entry now, and it can be purged at will * Check to make sure it's the same entry we entered with. * Possibly a callback may have mucked with it, although