diff options
-rw-r--r-- | source3/libsmb/clifile.c | 7 | ||||
-rw-r--r-- | source3/libsmb/climessage.c | 6 |
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); } |