diff -uNr samba-3.0.20rc2.orig/source/nsswitch/winbindd_group.c samba-3.0.20rc2/source/nsswitch/winbindd_group.c --- samba-3.0.20rc2.orig/source/nsswitch/winbindd_group.c 2005-07-28 15:19:44.000000000 +0200 +++ samba-3.0.20rc2/source/nsswitch/winbindd_group.c 2005-08-18 15:37:48.737628430 +0200 @@ -608,7 +608,7 @@ /* Start sending back groups */ - for (i = 0; i < num_groups; i++) { + while (group_list_ndx < num_groups) { struct acct_info *name_list = NULL; fstring domain_group_name; uint32 result; diff -uNr samba-3.0.20rc2.orig/source/nsswitch/winbindd_user.c samba-3.0.20rc2/source/nsswitch/winbindd_user.c --- samba-3.0.20rc2.orig/source/nsswitch/winbindd_user.c 2005-07-28 15:19:44.000000000 +0200 +++ samba-3.0.20rc2/source/nsswitch/winbindd_user.c 2005-08-18 15:35:19.082245640 +0200 @@ -653,7 +653,7 @@ /* Start sending back users */ - for (i = 0; i < num_users; i++) { + while (user_list_ndx < num_users) { struct getpwent_user *name_list = NULL; uint32 result;