From: Volker Lendecke Date: Sat, 20 Feb 2010 14:25:34 +0000 (+0100) Subject: s3: Explicitly handle inbuf in cli_message_start_done X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=486f734fd8794fb424d44b21695973cbd01a348b;hp=be62ca140335c7f841e44195450090201e09437a;ds=sidebyside s3: Explicitly handle inbuf in cli_message_start_done --- diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index ec81cf92019..6e7a74f8d5d 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 170447b2539..bdf2977af9c 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); }