From: Douglas Bagnall Date: Wed, 14 Feb 2018 04:15:07 +0000 (+1300) Subject: repl_md: avoid returning LDB_SUCCESS on failure X-Git-Tag: ldb-1.3.2~30 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bc56913271e9d3a30143ef5a45d32430766d9dc3;p=thirdparty%2Fsamba.git repl_md: avoid returning LDB_SUCCESS on failure Signed-off-by: Douglas Bagnall Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett --- diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c index ead0bd9235b..62f58addfde 100644 --- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c +++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c @@ -5109,6 +5109,9 @@ failed: * replication will stop with an error, but there is not much * else we can do. */ + if (ret == LDB_SUCCESS) { + ret = LDB_ERR_OPERATIONS_ERROR; + } return ldb_module_done(ar->req, NULL, NULL, ret); } @@ -5719,8 +5722,10 @@ static int replmd_replicated_handle_rename(struct replmd_replicated_request *ar, ldb_errstring(ldb_module_get_ctx(ar->module)))); goto failed; } -failed: + talloc_free(tmp_ctx); + return ret; +failed: /* * On failure make the caller get the error * This means replication will stop with an error, @@ -5728,6 +5733,9 @@ failed: * LDB_ERR_ENTRY_ALREADY_EXISTS case this is exactly what is * needed. */ + if (ret == LDB_SUCCESS) { + ret = LDB_ERR_OPERATIONS_ERROR; + } talloc_free(tmp_ctx); return ret;