summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2012-11-06 12:24:15 +0100
committerJakub Hrozek <jhrozek@redhat.com>2012-11-08 11:47:16 +0100
commitb6d5f2a91fbce15c7ef4d382fa6b52407adb26dd (patch)
tree8edb0175474400fb31ea0b31a55078e3fa7769df
parente9086c9178b06ff396b958dcc2a1e5baa0693f5c (diff)
downloadsssd-b6d5f2a91fbce15c7ef4d382fa6b52407adb26dd.tar.gz
sssd-b6d5f2a91fbce15c7ef4d382fa6b52407adb26dd.tar.bz2
sssd-b6d5f2a91fbce15c7ef4d382fa6b52407adb26dd.zip
sss_dp_get_domains_send(): handle subreq error correctly
If force is true, ret may stay uninitialized and if ret == 0 after the subrequest is send, we will go to immediate label. Data provider request is sent, but the answer is never processed. This prohibited subdomain from working correctly.
-rw-r--r--src/responder/common/responder_get_domains.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/responder/common/responder_get_domains.c b/src/responder/common/responder_get_domains.c
index f4bcbf14..468dd761 100644
--- a/src/responder/common/responder_get_domains.c
+++ b/src/responder/common/responder_get_domains.c
@@ -203,7 +203,8 @@ struct tevent_req *sss_dp_get_domains_send(TALLOC_CTX *mem_ctx,
subreq = get_subdomains_send(req, rctx, state->dom,
state->force, state->hint);
- if (ret != EAGAIN) {
+ if (subreq == NULL) {
+ ret = ENOMEM;
goto immediately;
}
tevent_req_set_callback(subreq, sss_dp_get_domains_process, req);