summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/clifile.c7
-rw-r--r--source3/libsmb/climessage.c6
2 files changed, 7 insertions, 6 deletions
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index ec81cf9201..6e7a74f8d5 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -4061,19 +4061,18 @@ static void cli_ctemp_done(struct tevent_req *subreq)
uint16_t *vwv;
uint32_t num_bytes = 0;
uint8_t *bytes = NULL;
+ uint8_t *inbuf;
- status = cli_smb_recv(subreq, NULL, NULL, 1, &wcnt, &vwv,
+ status = cli_smb_recv(subreq, state, &inbuf, 1, &wcnt, &vwv,
&num_bytes, &bytes);
+ TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
- TALLOC_FREE(subreq);
tevent_req_nterror(req, status);
return;
}
state->fnum = SVAL(vwv+0, 0);
- TALLOC_FREE(subreq);
-
/* From W2K3, the result is just the ASCII name */
if (num_bytes < 2) {
tevent_req_nterror(req, NT_STATUS_DATA_ERROR);
diff --git a/source3/libsmb/climessage.c b/source3/libsmb/climessage.c
index 170447b253..bdf2977af9 100644
--- a/source3/libsmb/climessage.c
+++ b/source3/libsmb/climessage.c
@@ -91,8 +91,11 @@ static void cli_message_start_done(struct tevent_req *subreq)
NTSTATUS status;
uint8_t wct;
uint16_t *vwv;
+ uint8_t *inbuf;
- status = cli_smb_recv(subreq, NULL, NULL, 0, &wct, &vwv, NULL, NULL);
+ status = cli_smb_recv(subreq, state, &inbuf, 0, &wct, &vwv,
+ NULL, NULL);
+ TALLOC_FREE(subreq);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(subreq);
tevent_req_nterror(req, status);
@@ -103,7 +106,6 @@ static void cli_message_start_done(struct tevent_req *subreq)
} else {
state->grp = 0;
}
- TALLOC_FREE(subreq);
tevent_req_done(req);
}