From: Douglas Bagnall Date: Sun, 7 Apr 2019 22:16:38 +0000 (+1200) Subject: ldb_kv: use ldb_msg_remove_element() X-Git-Tag: tdb-1.4.1~95 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=652a4015e6b4c1da27a0529f577ce6b6d6035a1a;p=thirdparty%2Fsamba.git ldb_kv: use ldb_msg_remove_element() Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/lib/ldb/ldb_key_value/ldb_kv.c b/lib/ldb/ldb_key_value/ldb_kv.c index 0a81524d87f..c0846ba1b6a 100644 --- a/lib/ldb/ldb_key_value/ldb_kv.c +++ b/lib/ldb/ldb_key_value/ldb_kv.c @@ -766,7 +766,6 @@ static int ldb_kv_msg_delete_attribute(struct ldb_module *module, struct ldb_message *msg, const char *name) { - unsigned int i; int ret; struct ldb_message_element *el; bool is_special = ldb_dn_is_special(msg->dn); @@ -785,7 +784,6 @@ static int ldb_kv_msg_delete_attribute(struct ldb_module *module, if (el == NULL) { return LDB_ERR_NO_SUCH_ATTRIBUTE; } - i = el - msg->elements; ret = ldb_kv_index_del_element(module, ldb_kv, msg, el); if (ret != LDB_SUCCESS) { @@ -793,10 +791,7 @@ static int ldb_kv_msg_delete_attribute(struct ldb_module *module, } talloc_free(el->values); - if (msg->num_elements > (i+1)) { - memmove(el, el+1, sizeof(*el) * (msg->num_elements - (i+1))); - } - msg->num_elements--; + ldb_msg_remove_element(msg, el); msg->elements = talloc_realloc(msg, msg->elements, struct ldb_message_element, msg->num_elements);