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-08 11:48:00 +0100
commit2d86062b4a167843eca1645257d0f68e14eb5285 (patch)
tree3bdf1405aaf071c921dc8eb9aaf2ac22fd54f8c2 /src
parent7a650399f57f2500ec0fbf8337790dfa2de35ddb (diff)
downloadsssd-2d86062b4a167843eca1645257d0f68e14eb5285.tar.gz
sssd-2d86062b4a167843eca1645257d0f68e14eb5285.tar.xz
sssd-2d86062b4a167843eca1645257d0f68e14eb5285.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);