summaryrefslogtreecommitdiffstats
path: root/src/responder/common/responder_get_domains.c
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 /src/responder/common/responder_get_domains.c
parente9086c9178b06ff396b958dcc2a1e5baa0693f5c (diff)
downloadsssd-b6d5f2a91fbce15c7ef4d382fa6b52407adb26dd.tar.gz
sssd-b6d5f2a91fbce15c7ef4d382fa6b52407adb26dd.tar.xz
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.
Diffstat (limited to 'src/responder/common/responder_get_domains.c')
-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 f4bcbf14c..468dd761b 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);