From 560a51f46bab19b23aab72ca7e17017443346058 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. (This used to be commit dfa990170bb9a665ba48443258e2a87f50baa75c) --- source3/nsswitch/winbindd_ads.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source3/nsswitch/winbindd_ads.c') diff --git a/source3/nsswitch/winbindd_ads.c b/source3/nsswitch/winbindd_ads.c index 2206c5a36e..22bad667c3 100644 --- a/source3/nsswitch/winbindd_ads.c +++ b/source3/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