From 652a4015e6b4c1da27a0529f577ce6b6d6035a1a Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Mon, 8 Apr 2019 10:16:38 +1200 Subject: [PATCH] ldb_kv: use ldb_msg_remove_element() Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- lib/ldb/ldb_key_value/ldb_kv.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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); -- 2.47.3