diff options
author | Jeremy Allison <jra@samba.org> | 2005-01-22 01:22:39 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:55:07 -0500 |
commit | 6f56a5be2e7e9259f020dd20c37d79f8f95c3815 (patch) | |
tree | 0dcfb64cfa421debb48d9fc89ee04dc1f8d8b4c8 /source3/libsmb | |
parent | 5876aa1a78141593c7f085f158568df663ee0352 (diff) | |
download | samba-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')
-rw-r--r-- | source3/libsmb/cliconnect.c | 7 | ||||
-rw-r--r-- | source3/libsmb/clisecdesc.c | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index 29a9533bd2..659e124292 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -989,7 +989,12 @@ BOOL cli_tdis(struct cli_state *cli) if (!cli_receive_smb(cli)) return False; - return !cli_is_error(cli); + if (cli_is_error(cli)) { + return False; + } + + cli->cnum = -1; + return True; } /**************************************************************************** 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; } |