summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2009-09-17 16:06:33 -0400
committerSimo Sorce <ssorce@redhat.com>2009-09-23 07:35:59 -0400
commit1f5ab2205792b4fc756d4663c090811ea75f7a46 (patch)
tree21f315215d19681f501ce63751a033fc33a105d7
parent9feec0f1daf443504e78412fc701932798c1faf1 (diff)
downloadsssd-1f5ab2205792b4fc756d4663c090811ea75f7a46.tar.gz
sssd-1f5ab2205792b4fc756d4663c090811ea75f7a46.tar.bz2
sssd-1f5ab2205792b4fc756d4663c090811ea75f7a46.zip
Don't try to use initgroups_dyn if not available
Fixes a segfault seen in the wild with providers=files
-rw-r--r--server/providers/proxy.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/server/providers/proxy.c b/server/providers/proxy.c
index 80a2a550..dde019b9 100644
--- a/server/providers/proxy.c
+++ b/server/providers/proxy.c
@@ -2118,6 +2118,9 @@ static void proxy_get_account_info(struct be_req *breq)
if (strchr(ar->filter_value, '*')) {
return proxy_reply(breq, EINVAL, "Invalid filter value");
}
+ if (ctx->ops.initgroups_dyn == NULL) {
+ return proxy_reply(breq, ENODEV, "Initgroups call not supported");
+ }
subreq = get_initgr_send(breq, ev, ctx, sysdb,
domain, ar->filter_value);
if (!subreq) {