From 05379f01252fc8b449f36130bcf00c321d7a1c37 Mon Sep 17 00:00:00 2001 From: Bo Yang Date: Thu, 14 May 2009 10:13:12 +0800 Subject: s3: return proper error code in cli_smb_req_send Signed-off-by: Bo Yang --- source3/libsmb/clitrans.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'source3/libsmb/clitrans.c') diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c index d6d78cc6c3..98c09ed6e7 100644 --- a/source3/libsmb/clitrans.c +++ b/source3/libsmb/clitrans.c @@ -1011,6 +1011,7 @@ struct tevent_req *cli_trans_send( struct cli_trans_state *state; int iov_count; uint8_t wct; + NTSTATUS status; req = tevent_req_create(mem_ctx, &state, struct cli_trans_state); if (req == NULL) { @@ -1083,8 +1084,9 @@ struct tevent_req *cli_trans_send( return tevent_req_post(req, ev); } state->mid = cli_smb_req_mid(subreq); - if (!cli_smb_req_send(subreq)) { - tevent_req_nterror(req, NT_STATUS_NO_MEMORY); + status = cli_smb_req_send(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); return tevent_req_post(req, state->ev); } cli_state_seqnum_persistent(cli, state->mid); @@ -1154,8 +1156,9 @@ static void cli_trans_done(struct tevent_req *subreq) } cli_smb_req_set_mid(subreq, state->mid); - if (!cli_smb_req_send(subreq)) { - status = NT_STATUS_NO_MEMORY; + status = cli_smb_req_send(subreq); + + if (!NT_STATUS_IS_OK(status)) { goto fail; } tevent_req_set_callback(subreq, cli_trans_done, req); -- cgit