diff options
-rw-r--r-- | source3/nsswitch/winbindd_ads.c | 7 | ||||
-rw-r--r-- | source3/nsswitch/winbindd_group.c | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd_ads.c b/source3/nsswitch/winbindd_ads.c index 6f1db55c62..09289912f9 100644 --- a/source3/nsswitch/winbindd_ads.c +++ b/source3/nsswitch/winbindd_ads.c @@ -1017,7 +1017,11 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain, DEBUG(10,("ads: lookup_groupmem: got sid %s from cache\n", sid_string_static(&sid))); sid_copy(&(*sid_mem)[*num_names], &sid); - (*names)[*num_names] = CONST_DISCARD(char *,name); + (*names)[*num_names] = talloc_asprintf(*names, "%s%c%s", + domain_name, + *lp_winbind_separator(), + name ); + (*name_types)[*num_names] = name_type; (*num_names)++; } @@ -1055,7 +1059,6 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain, /* Copy the entries over from the "_nocache" arrays * to the result arrays, skipping the gaps the * lookup_sids call left. */ - *num_names = 0; for (i=0; i < num_nocache; i++) { if (((names_nocache)[i] != NULL) && ((name_types_nocache)[i] != SID_NAME_UNKNOWN)) diff --git a/source3/nsswitch/winbindd_group.c b/source3/nsswitch/winbindd_group.c index 2d83dd3870..2b2ae7e579 100644 --- a/source3/nsswitch/winbindd_group.c +++ b/source3/nsswitch/winbindd_group.c @@ -576,6 +576,7 @@ static BOOL fill_grent_mem(struct winbindd_domain *domain, /* One more round */ TALLOC_FREE(glist); glist = new_glist; + n_glist = n_new_glist; } TALLOC_FREE( glist ); |