summaryrefslogtreecommitdiff
path: root/source/rpc_parse/parse_samr.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/rpc_parse/parse_samr.c')
-rw-r--r--source/rpc_parse/parse_samr.c60
1 files changed, 26 insertions, 34 deletions
diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c
index 7929c4fac7a..f4687c8c333 100644
--- a/source/rpc_parse/parse_samr.c
+++ b/source/rpc_parse/parse_samr.c
@@ -5942,18 +5942,23 @@ BOOL make_samr_userinfo_ctr(SAM_USERINFO_CTR * ctr, const uchar * sess_key,
/*******************************************************************
reads or writes a structure.
********************************************************************/
-BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
- int depth)
+static BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR *ctr,
+ prs_struct *ps, int depth)
{
+ BOOL ret;
if (ctr == NULL)
return False;
prs_debug(ps, depth, desc, "samr_io_userinfo_ctr");
depth++;
+ prs_align(ps);
+
prs_uint16("switch_value", ps, depth, &(ctr->switch_value));
prs_align(ps);
+ ret = False;
+
switch (ctr->switch_value)
{
case 0x10:
@@ -5963,17 +5968,14 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
/* reading */
ctr->info.id10 = g_new(SAM_USER_INFO_10, 1);
}
- if (ctr->info.id10 != NULL)
- {
- sam_io_user_info10("", ctr->info.id10, ps,
- depth);
- }
- else
+ if (ctr->info.id10 == NULL)
{
DEBUG(2,
("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
+ ret = sam_io_user_info10("", ctr->info.id10, ps,
+ depth);
break;
}
case 0x11:
@@ -5983,17 +5985,14 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
/* reading */
ctr->info.id11 = g_new(SAM_USER_INFO_11, 1);
}
- if (ctr->info.id11 != NULL)
- {
- sam_io_user_info11("", ctr->info.id11, ps,
- depth);
- }
- else
+ if (ctr->info.id11 == NULL)
{
DEBUG(2,
("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
+ ret = sam_io_user_info11("", ctr->info.id11, ps,
+ depth);
break;
}
case 0x12:
@@ -6003,17 +6002,14 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
/* reading */
ctr->info.id12 = g_new(SAM_USER_INFO_12, 1);
}
- if (ctr->info.id12 != NULL)
- {
- sam_io_user_info12("", ctr->info.id12, ps,
- depth);
- }
- else
+ if (ctr->info.id12 == NULL)
{
DEBUG(2,
("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
+ ret = sam_io_user_info12("", ctr->info.id12, ps,
+ depth);
break;
}
case 21:
@@ -6023,17 +6019,14 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
/* reading */
ctr->info.id21 = g_new(SAM_USER_INFO_21, 1);
}
- if (ctr->info.id21 != NULL)
- {
- sam_io_user_info21("", ctr->info.id21, ps,
- depth);
- }
- else
+ if (ctr->info.id21 == NULL)
{
DEBUG(2,
("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
+ ret = sam_io_user_info21("", ctr->info.id21, ps,
+ depth);
break;
}
case 23:
@@ -6043,17 +6036,14 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
/* reading */
ctr->info.id23 = g_new(SAM_USER_INFO_23, 1);
}
- if (ctr->info.id23 != NULL)
- {
- sam_io_user_info23("", ctr->info.id23, ps,
- depth);
- }
- else
+ if (ctr->info.id23 == NULL)
{
DEBUG(2,
("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
+ ret = sam_io_user_info23("", ctr->info.id23, ps,
+ depth);
break;
}
case 24:
@@ -6069,13 +6059,15 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
("samr_io_userinfo_ctr: info pointer not initialised\n"));
return False;
}
- sam_io_user_info24("", ctr->info.id24, ps, depth);
+ ret = sam_io_user_info24("", ctr->info.id24, ps,
+ depth);
break;
}
default:
{
DEBUG(2,
("samr_io_userinfo_ctr: unknown switch level\n"));
+ ret = False;
break;
}
@@ -6083,7 +6075,7 @@ BOOL samr_io_userinfo_ctr(char *desc, SAM_USERINFO_CTR * ctr, prs_struct * ps,
prs_align(ps);
- return True;
+ return ret;
}
/*******************************************************************