summaryrefslogtreecommitdiffstats
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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);