summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_read.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/smb2_read.c')
-rw-r--r--source3/smbd/smb2_read.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/source3/smbd/smb2_read.c b/source3/smbd/smb2_read.c
index 636f068c476..f485fe9f0b6 100644
--- a/source3/smbd/smb2_read.c
+++ b/source3/smbd/smb2_read.c
@@ -282,7 +282,18 @@ normal_read:
out:
if (nread < in_length) {
- sendfile_short_send(fsp, nread, hdr->length, in_length);
+ ret = sendfile_short_send(xconn, fsp, nread,
+ hdr->length, in_length);
+ if (ret == -1) {
+ saved_errno = errno;
+ DEBUG(0,("smb2_sendfile_send_data: sendfile_short_send "
+ "failed for file %s (%s) for client %s. "
+ "Terminating\n",
+ fsp_str_dbg(fsp), strerror(saved_errno),
+ smbXsrv_connection_dbg(xconn)));
+ exit_server_cleanly("smb2_sendfile_send_data: "
+ "sendfile_short_send failed");
+ }
}
init_strict_lock_struct(fsp,