summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2010-02-20 15:16:55 +0100
committerVolker Lendecke <vl@samba.org>2010-02-22 23:23:19 +0100
commit160c459b54c5e18c59a0c155c3b94896267715bb (patch)
tree6485e8349883f6fae516fbd3b6d2b7774e3d44dc /source3/libsmb
parent036fcafe242363bd290b179c21406dafc0d3a678 (diff)
downloadsamba-160c459b54c5e18c59a0c155c3b94896267715bb.tar.gz
samba-160c459b54c5e18c59a0c155c3b94896267715bb.tar.bz2
samba-160c459b54c5e18c59a0c155c3b94896267715bb.zip
s3: Explicitly handle inbuf in cli_tcon_andx_done
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/cliconnect.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 53d46be585..ba09af4c06 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -1751,21 +1751,24 @@ static void cli_tcon_andx_done(struct tevent_req *subreq)
struct cli_tcon_andx_state *state = tevent_req_data(
req, struct cli_tcon_andx_state);
struct cli_state *cli = state->cli;
- char *inbuf = (char *)cli_smb_inbuf(subreq);
+ uint8_t *in;
+ char *inbuf;
uint8_t wct;
uint16_t *vwv;
uint32_t num_bytes;
uint8_t *bytes;
NTSTATUS status;
- status = cli_smb_recv(subreq, NULL, NULL, 0, &wct, &vwv,
+ status = cli_smb_recv(subreq, state, &in, 0, &wct, &vwv,
&num_bytes, &bytes);
+ TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
- TALLOC_FREE(subreq);
tevent_req_nterror(req, status);
return;
}
+ inbuf = (char *)in;
+
clistr_pull(inbuf, cli->dev, bytes, sizeof(fstring), num_bytes,
STR_TERMINATE|STR_ASCII);