From 8d25d02a52c99201732acea71106108628624303 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 19 Mar 2015 10:40:56 -0700 Subject: [PATCH 1/2] 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 Reviewed-by: Michael Adam Autobuild-User(master): Michael Adam Autobuild-Date(master): Fri Mar 20 05:08:25 CET 2015 on sn-devel-104 (cherry picked from commit 00d92f59257ce8fe1729becd72e13a42dfff0589) --- 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 2fe6a5a..742caf1 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -1592,6 +1592,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