From e094bef172b36b0c330c47498e49fb51c0429203 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 3 Jan 2007 20:28:56 +0000 Subject: [PATCH] Remember our own success code in case an overlay changes it --- servers/slapd/back-bdb/add.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- 2.39.5