summaryrefslogtreecommitdiffstats
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-12 00:05:18 +0100
commit19a0b74036daf3ff48a09f7688acdbf02f5e3b4a (patch)
tree37b1c30d45b4334593a4e6a7089b5ac7cf9e21d5
parent407512ffd3019c6031050fe04d63c3bb816995e2 (diff)
downloadsssd-19a0b74036daf3ff48a09f7688acdbf02f5e3b4a.tar.gz
sssd-19a0b74036daf3ff48a09f7688acdbf02f5e3b4a.tar.xz
sssd-19a0b74036daf3ff48a09f7688acdbf02f5e3b4a.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 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);