diff options
Diffstat (limited to 'source/rpc_parse/parse_net.c')
-rw-r--r-- | source/rpc_parse/parse_net.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/rpc_parse/parse_net.c b/source/rpc_parse/parse_net.c index 1b253beeb94..8a15ae6bb4b 100644 --- a/source/rpc_parse/parse_net.c +++ b/source/rpc_parse/parse_net.c @@ -983,6 +983,9 @@ void make_net_user_info3(NET_USER_INFO_3 *usr, make_unistr2(&(usr->uni_dir_drive ), dir_drive , len_dir_drive ); usr->num_groups2 = num_groups; + + ASSERT_ARRAY(usr->gids, num_groups); + for (i = 0; i < num_groups; i++) { usr->gids[i] = gids[i]; @@ -1057,6 +1060,7 @@ void net_io_user_info3(char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int de prs_align(ps); prs_uint32("num_groups2 ", ps, depth, &(usr->num_groups2)); /* num groups */ + ASSERT_ARRAY(usr->gids, usr->num_groups2); for (i = 0; i < usr->num_groups2; i++) { smb_io_gid("", &(usr->gids[i]), ps, depth); /* group info */ @@ -1067,6 +1071,8 @@ void net_io_user_info3(char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int de smb_io_dom_sid2("", &(usr->dom_sid), ps, depth); /* domain SID */ + ASSERT_ARRAY(usr->other_sids, usr->num_other_sids); + for (i = 0; i < usr->num_other_sids; i++) { smb_io_dom_sid2("", &(usr->other_sids[i]), ps, depth); /* other domain SIDs */ |