Source
xxxxxxxxxx
--- lib/system_smbd.c.orig 2015-02-23 01:11:32.000000000 +1100
+++ lib/system_smbd.c 2017-11-06 14:40:13.000000000 +1100
gid_t *groups;
int i;
+#ifdef DARWINOS
+ /* getgrouplist() can return a lot more than NGROUPS_MAX groups
+ (which is what groups_max() uses) and will fail if the array is
+ too small to hold all the groups. */
+ max_grp = 128;
+#else
max_grp = MIN(128, groups_max());
+#endif
temp_groups = SMB_MALLOC_ARRAY(gid_t, max_grp);
if (! temp_groups) {
return False;