From 036fcafe242363bd290b179c21406dafc0d3a678 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 20 Feb 2010 15:15:28 +0100 Subject: [PATCH] s3: Explicitly handle inbuf in cli_sesssetup_blob_done --- source3/libsmb/cliconnect.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index f24582df004..53d46be5850 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -730,12 +730,13 @@ static void cli_sesssetup_blob_done(struct tevent_req *subreq) NTSTATUS status; uint8_t *p; uint16_t blob_length; + uint8_t *inbuf; - status = cli_smb_recv(subreq, NULL, NULL, 1, &wct, &vwv, + status = cli_smb_recv(subreq, state, &inbuf, 1, &wct, &vwv, &num_bytes, &bytes); + TALLOC_FREE(subreq); if (!NT_STATUS_IS_OK(status) && !NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) { - TALLOC_FREE(subreq); tevent_req_nterror(req, status); return; } @@ -743,12 +744,11 @@ static void cli_sesssetup_blob_done(struct tevent_req *subreq) state->status = status; TALLOC_FREE(state->buf); - state->inbuf = (char *)cli_smb_inbuf(subreq); + state->inbuf = (char *)inbuf; cli->vuid = SVAL(state->inbuf, smb_uid); blob_length = SVAL(vwv+3, 0); if (blob_length > num_bytes) { - TALLOC_FREE(subreq); tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); return; } @@ -771,7 +771,6 @@ static void cli_sesssetup_blob_done(struct tevent_req *subreq) } if (state->blob.length != 0) { - TALLOC_FREE(subreq); /* * More to send */ -- 2.11.4.GIT