diff options
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r-- | source3/smbd/service.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c index fb9dbf0489..7640559d53 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -592,6 +592,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, } if (conn->force_user || conn->force_group) { + int ngroups = 0; /* groups stuff added by ih */ conn->ngroups = 0; @@ -600,7 +601,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, /* Find all the groups this uid is in and store them. Used by change_to_user() */ initialise_groups(conn->user, conn->uid, conn->gid); - get_current_groups(conn->gid, &conn->ngroups,&conn->groups); + get_current_groups(conn->gid, &ngroups, &conn->groups); + conn->ngroups = ngroups; conn->nt_user_token = create_nt_token(conn->uid, conn->gid, |