From ce2bf5c72b6423fff680b3d6a9042103a6cdda55 Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Tue, 9 Apr 2019 20:29:59 +1200 Subject: [PATCH] ldb_ldap: use ldb_msg API to add elements Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- lib/ldb/ldb_ldap/ldb_ldap.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/lib/ldb/ldb_ldap/ldb_ldap.c b/lib/ldb/ldb_ldap/ldb_ldap.c index 484b810ac88..d7222997732 100644 --- a/lib/ldb/ldb_ldap/ldb_ldap.c +++ b/lib/ldb/ldb_ldap/ldb_ldap.c @@ -141,7 +141,7 @@ static int lldb_add_msg_attr(struct ldb_context *ldb, struct ldb_message *msg, const char *attr, struct berval **bval) { - int count, i; + int count, i, ret; struct ldb_message_element *el; count = ldap_count_values_len(bval); @@ -150,25 +150,12 @@ static int lldb_add_msg_attr(struct ldb_context *ldb, return -1; } - el = talloc_realloc(msg, msg->elements, struct ldb_message_element, - msg->num_elements + 1); - if (!el) { - errno = ENOMEM; - return -1; - } - - msg->elements = el; - - el = &msg->elements[msg->num_elements]; - - el->name = talloc_strdup(msg->elements, attr); - if (!el->name) { + ret = ldb_msg_add_empty(msg, attr, 0, &el); + if (ret != LDB_SUCCESS) { errno = ENOMEM; return -1; } - el->flags = 0; - el->num_values = 0; el->values = talloc_array(msg->elements, struct ldb_val, count); if (!el->values) { errno = ENOMEM; -- 2.47.3