From 6401ff097d625a82e59009fa811411a3a56d22d4 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 19 Mar 2015 10:40:56 -0700 Subject: [PATCH] s3: libcli: smb1: Ensure we correctly finish a tevent req if the writev fails in the SMB1 case. We haven't added the req to the pending array yet, as SMB1 requests can be one-way (no reply needed). So if we error out after the writev, but before we add to the pending array we must rember to terminate our current tevent req with a tevent_req_nterror call. Fixes bug 11173 - SMB1 Server disconnect can cause timeout on client write error. https://bugzilla.samba.org/show_bug.cgi?id=11173 Signed-off-by: Jeremy Allison --- libcli/smb/smbXcli_base.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index 5773ab3..9f73566 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -1613,6 +1613,7 @@ static void smb1cli_req_writev_done(struct tevent_req *subreq) if (nwritten == -1) { NTSTATUS status = map_nt_error_from_unix_common(err); smbXcli_conn_disconnect(state->conn, status); + tevent_req_nterror(req, status); return; } -- 2.2.0.rc0.207.ga3a616c