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