summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c4
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,