From dfa990170bb9a665ba48443258e2a87f50baa75c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 11 Apr 2002 14:30:31 +0000 Subject: possibly fix the 15000 user problem I think its caused by a rpc operation failing and us giving invalid data back to the cache layer. Using talloc_zero() should solve this. --- source/nsswitch/winbindd_ads.c | 12 ++++++------ source/nsswitch/winbindd_rpc.c | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'source/nsswitch') diff --git a/source/nsswitch/winbindd_ads.c b/source/nsswitch/winbindd_ads.c index 2206c5a36e2..22bad667c3c 100644 --- a/source/nsswitch/winbindd_ads.c +++ b/source/nsswitch/winbindd_ads.c @@ -220,7 +220,7 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain, goto done; } - (*info) = talloc(mem_ctx, count * sizeof(**info)); + (*info) = talloc_zero(mem_ctx, count * sizeof(**info)); if (!*info) { status = NT_STATUS_NO_MEMORY; goto done; @@ -308,7 +308,7 @@ static NTSTATUS enum_dom_groups(struct winbindd_domain *domain, goto done; } - (*info) = talloc(mem_ctx, count * sizeof(**info)); + (*info) = talloc_zero(mem_ctx, count * sizeof(**info)); if (!*info) { status = NT_STATUS_NO_MEMORY; goto done; @@ -628,7 +628,7 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, } count = ads_pull_sids(ads, mem_ctx, msg, "tokenGroups", &sids) + 1; - (*user_gids) = (uint32 *)talloc(mem_ctx, sizeof(uint32) * count); + (*user_gids) = (uint32 *)talloc_zero(mem_ctx, sizeof(uint32) * count); (*user_gids)[(*num_groups)++] = primary_group; for (i=1;i