diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2012-07-09 15:18:28 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2012-07-10 09:18:06 -0400 |
commit | bd71f19d41272ea8b6dd92c9dc8e101d24eb7cc9 (patch) | |
tree | cb16824f9bee7d00caff22365415a08753169343 | |
parent | 2d257ccf620ce1b611f89cec8f0a94c88c2f2881 (diff) | |
download | sssd-bd71f19d41272ea8b6dd92c9dc8e101d24eb7cc9.tar.gz sssd-bd71f19d41272ea8b6dd92c9dc8e101d24eb7cc9.tar.bz2 sssd-bd71f19d41272ea8b6dd92c9dc8e101d24eb7cc9.zip |
Fix segfault when using local provider
The name context was not being initialized for local provider
domains because it was handled after skipping over the back-end
initialization routine. This patch moves the name context init
routine to occur earlier.
https://fedorahosted.org/sssd/ticket/1412
-rw-r--r-- | src/responder/common/responder_common.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c index e44c351a..438ca2ce 100644 --- a/src/responder/common/responder_common.c +++ b/src/responder/common/responder_common.c @@ -791,12 +791,6 @@ int sss_process_init(TALLOC_CTX *mem_ctx, } for (dom = rctx->domains; dom; dom = dom->next) { - - /* skip local domain, it doesn't have a backend */ - if (strcasecmp(dom->provider, "local") == 0) { - continue; - } - ret = sss_names_init(rctx->cdb, rctx->cdb, dom->name, &dom->names); if (ret != EOK) { DEBUG(SSSDBG_FATAL_FAILURE, @@ -805,6 +799,11 @@ int sss_process_init(TALLOC_CTX *mem_ctx, return ret; } + /* skip local domain, it doesn't have a backend */ + if (strcasecmp(dom->provider, "local") == 0) { + continue; + } + ret = sss_dp_init(rctx, dp_intf, cli_name, dom); if (ret != EOK) { DEBUG(0, ("fatal error setting up backend connector\n")); |