diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-11-24 14:39:40 +0100 |
---|---|---|
committer | Jan Zeleny <jzeleny@redhat.com> | 2011-11-25 10:08:35 +0100 |
commit | f4093e062cf1646b8f01d7078e63708aeb36a95d (patch) | |
tree | acd5916439aa1b9d2a678fa94ab20235ff5eadd9 /src/providers/ipa/ipa_init.c | |
parent | 3a62a99faf8e12965100d0b26fc9e07752bd3e2d (diff) | |
download | sssd-f4093e062cf1646b8f01d7078e63708aeb36a95d.tar.gz sssd-f4093e062cf1646b8f01d7078e63708aeb36a95d.tar.xz sssd-f4093e062cf1646b8f01d7078e63708aeb36a95d.zip |
Fix sdap_id_ctx/ipa_id_ctx mismatch in IPA provider
This was causing a segfault during HBAC processing and any ID lookups
except for netgroups
Diffstat (limited to 'src/providers/ipa/ipa_init.c')
-rw-r--r-- | src/providers/ipa/ipa_init.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/providers/ipa/ipa_init.c b/src/providers/ipa/ipa_init.c index 8b553ef06..9fbca3ae4 100644 --- a/src/providers/ipa/ipa_init.c +++ b/src/providers/ipa/ipa_init.c @@ -351,6 +351,7 @@ int sssm_ipa_access_init(struct be_ctx *bectx, { int ret; struct ipa_access_ctx *ipa_access_ctx; + struct ipa_id_ctx *id_ctx; ipa_access_ctx = talloc_zero(bectx, struct ipa_access_ctx); if (ipa_access_ctx == NULL) { @@ -358,11 +359,12 @@ int sssm_ipa_access_init(struct be_ctx *bectx, return ENOMEM; } - ret = sssm_ipa_id_init(bectx, ops, (void **) &ipa_access_ctx->sdap_ctx); + ret = sssm_ipa_id_init(bectx, ops, (void **) &id_ctx); if (ret != EOK) { DEBUG(1, ("sssm_ipa_id_init failed.\n")); goto done; } + ipa_access_ctx->sdap_ctx = id_ctx->sdap_id_ctx; ret = dp_copy_options(ipa_access_ctx, ipa_options->basic, IPA_OPTS_BASIC, &ipa_access_ctx->ipa_options); |