diff options
Diffstat (limited to 'source3/rpc_client/cli_samr.c')
-rw-r--r-- | source3/rpc_client/cli_samr.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source3/rpc_client/cli_samr.c b/source3/rpc_client/cli_samr.c index 7c1860dee1..4ec658e664 100644 --- a/source3/rpc_client/cli_samr.c +++ b/source3/rpc_client/cli_samr.c @@ -665,6 +665,14 @@ uint32 samr_enum_dom_groups(struct cli_state *cli, uint16 fnum, status = NT_STATUS_INVALID_PARAMETER | 0xC0000000; } + if (r_e.sam != NULL) + { + free(r_e.sam); + } + if (r_e.uni_grp_name != NULL) + { + free(r_e.uni_grp_name); + } } prs_mem_free(&data ); @@ -753,6 +761,19 @@ uint32 samr_enum_dom_aliases(struct cli_state *cli, uint16 fnum, } (*start_idx) = r_e.next_idx; } + else if (status == 0x0) + { + status = NT_STATUS_INVALID_PARAMETER | 0xC0000000; + } + + if (r_e.sam != NULL) + { + free(r_e.sam); + } + if (r_e.uni_grp_name != NULL) + { + free(r_e.uni_grp_name); + } } prs_mem_free(&data ); |