From 8edf29e8ef4d886321a6e8ec3902065641d34f40 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Fri, 3 Mar 2006 22:52:57 +0000 Subject: r13827: Minor enhancements or cosmetic changes (This used to be commit 7ef63abae12f65835a82f9931ad1f5ea75e5f3f6) --- source4/lib/ldb/ldb_ldap/ldb_ldap.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'source4/lib/ldb/ldb_ldap') diff --git a/source4/lib/ldb/ldb_ldap/ldb_ldap.c b/source4/lib/ldb/ldb_ldap/ldb_ldap.c index 031fd847e3..d671afb953 100644 --- a/source4/lib/ldb/ldb_ldap/ldb_ldap.c +++ b/source4/lib/ldb/ldb_ldap/ldb_ldap.c @@ -395,12 +395,15 @@ static int lldb_search_bytree(struct ldb_module *module, const struct ldb_dn *ba ret = lldb_search_async(module, base, scope, tree, attrs, control_req, res, &lldb_search_sync_callback, lldb->timeout, &handle); - if (ret != LDB_SUCCESS) - return ret; + if (ret == LDB_SUCCESS) { + ret = ldb_async_wait(module->ldb, handle, LDB_WAIT_ALL); + talloc_free(handle); + } - ret = ldb_async_wait(module->ldb, handle, LDB_WAIT_ALL); + if (ret != LDB_SUCCESS) { + talloc_free(*res); + } - talloc_free(handle); return ret; } @@ -866,7 +869,7 @@ static int lldb_async_wait(struct ldb_module *module, struct ldb_async_handle *h struct lldb_private *lldb = talloc_get_type(ac->module->private_data, struct lldb_private); struct timeval timeout; LDAPMessage *result; - int ret; + int ret = LDB_ERR_OPERATIONS_ERROR; if (!ac->msgid) { return LDB_ERR_OPERATIONS_ERROR; @@ -915,8 +918,6 @@ static int lldb_async_wait(struct ldb_module *module, struct ldb_async_handle *h } } break; - default: - ret = LDB_ERR_OPERATIONS_ERROR; } return ret; -- cgit