summaryrefslogtreecommitdiff
path: root/source3/libsmb/clisecdesc.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-01-22 01:22:39 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:55:07 -0500
commit6f56a5be2e7e9259f020dd20c37d79f8f95c3815 (patch)
tree0dcfb64cfa421debb48d9fc89ee04dc1f8d8b4c8 /source3/libsmb/clisecdesc.c
parent5876aa1a78141593c7f085f158568df663ee0352 (diff)
downloadsamba-6f56a5be2e7e9259f020dd20c37d79f8f95c3815.tar.gz
samba-6f56a5be2e7e9259f020dd20c37d79f8f95c3815.tar.bz2
samba-6f56a5be2e7e9259f020dd20c37d79f8f95c3815.zip
r4917: Merge some of Derrell.Lipman@UnwiredUniverse.com obvious fixes.
Added text explaining units in pdbedit time fields. Jeremy. (This used to be commit 3d09c15d8f06ad06fae362291a6c986f7b6107e6)
Diffstat (limited to 'source3/libsmb/clisecdesc.c')
-rw-r--r--source3/libsmb/clisecdesc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source3/libsmb/clisecdesc.c b/source3/libsmb/clisecdesc.c
index b79ea9d14b..2475743479 100644
--- a/source3/libsmb/clisecdesc.c
+++ b/source3/libsmb/clisecdesc.c
@@ -30,6 +30,7 @@ SEC_DESC *cli_query_secdesc(struct cli_state *cli, int fnum,
char *rparam=NULL, *rdata=NULL;
unsigned int rparam_count=0, rdata_count=0;
prs_struct pd;
+ BOOL pd_initialized = False;
SEC_DESC *psd = NULL;
SIVAL(param, 0, fnum);
@@ -56,7 +57,10 @@ SEC_DESC *cli_query_secdesc(struct cli_state *cli, int fnum,
if (cli_is_error(cli))
goto cleanup;
- prs_init(&pd, rdata_count, mem_ctx, UNMARSHALL);
+ if (!prs_init(&pd, rdata_count, mem_ctx, UNMARSHALL)) {
+ goto cleanup;
+ }
+ pd_initialized = True;
prs_copy_data_in(&pd, rdata, rdata_count);
prs_set_offset(&pd,0);
@@ -70,7 +74,8 @@ SEC_DESC *cli_query_secdesc(struct cli_state *cli, int fnum,
SAFE_FREE(rparam);
SAFE_FREE(rdata);
- prs_mem_free(&pd);
+ if (pd_initialized)
+ prs_mem_free(&pd);
return psd;
}