From: Tim Beale Date: Sun, 11 Nov 2018 22:21:36 +0000 (+1300) Subject: replmd: Remove some redundant code X-Git-Tag: tdb-1.3.17~707 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19a36b367f1a33f1eb65e0c5164a3209fcef16e6;p=thirdparty%2Fsamba.git replmd: Remove some redundant code At first glance, this code seemed completely unnecessary. However, it was added (by commit f6bc4c08b19f5615) for a valid reason: adding the whenChanged/uSNChanged attributes to the message can cause msg->elements to be reallocated, which means the old_el pointer (which points to msg->elements memory) can be out of date. whenChanged/uSNChanged now get added to the msg last, just before the DB modify operation. So old_el can no longer become out of date within replmd_process_link_attribute(), so re-fetching it is now redundant. Signed-off-by: Tim Beale 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 88c5b6c9c4f..bcb74f4ebbb 100644 --- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c +++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c @@ -8141,11 +8141,6 @@ static int replmd_process_linked_attribute(struct ldb_module *module, } } - old_el = ldb_msg_find_element(msg, attr->lDAPDisplayName); - if (old_el == NULL) { - return ldb_operr(ldb); - } - ret = dsdb_check_single_valued_link(attr, old_el); if (ret != LDB_SUCCESS) { return ret;