summaryrefslogtreecommitdiff
path: root/source3/rpc_parse/parse_net.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_parse/parse_net.c')
-rw-r--r--source3/rpc_parse/parse_net.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/rpc_parse/parse_net.c b/source3/rpc_parse/parse_net.c
index 1b253beeb9..8a15ae6bb4 100644
--- a/source3/rpc_parse/parse_net.c
+++ b/source3/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 */