summaryrefslogtreecommitdiff
path: root/source/nsswitch/winbind_nss_solaris.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/nsswitch/winbind_nss_solaris.c')
-rw-r--r--source/nsswitch/winbind_nss_solaris.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/nsswitch/winbind_nss_solaris.c b/source/nsswitch/winbind_nss_solaris.c
index 865b6ebbb06..05e037f0e8a 100644
--- a/source/nsswitch/winbind_nss_solaris.c
+++ b/source/nsswitch/winbind_nss_solaris.c
@@ -281,17 +281,22 @@ _nss_winbind_getgroupsbymember_solwrap(nss_backend_t* be, void* args)
{
int errnop;
struct nss_groupsbymem *gmem = (struct nss_groupsbymem *)args;
+ long int numgids = gmem->numgids;
+ long int maxgids = gmem->maxgids;
NSS_DEBUG("_nss_winbind_getgroupsbymember");
_nss_winbind_initgroups_dyn(gmem->username,
gmem->gid_array[0], /* Primary Group */
- &gmem->numgids,
- &gmem->maxgids,
+ &numgids,
+ &maxgids,
&gmem->gid_array,
gmem->maxgids,
&errnop);
+ gmem->numgids = numgids;
+ gmem->maxgids = maxgids;
+
/*
* If the maximum number of gids have been found, return
* SUCCESS so the switch engine will stop searching. Otherwise