From 8ca459e067c3d4f3495e0a6dafea7296e3dfb2ab Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 20 May 2008 12:09:48 -0700 Subject: Fix bug #5477 - recvfile code was broken. Jeremy. (This used to be commit 830337f054a6c0646d85df33d9958e99283e727a) --- source3/lib/recvfile.c | 10 ++++++++++ source3/smbd/process.c | 12 ++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/source3/lib/recvfile.c b/source3/lib/recvfile.c index 6e20933350..513742ce8f 100644 --- a/source3/lib/recvfile.c +++ b/source3/lib/recvfile.c @@ -58,6 +58,11 @@ static ssize_t default_sys_recvfile(int fromfd, size_t total_written = 0; char *buffer = NULL; + DEBUG(10,("default_sys_recvfile: from = %d, to = %d, " + "offset=%.0f, count = %lu\n", + fromfd, tofd, (double)offset, + (unsigned long)count)); + if (count == 0) { return 0; } @@ -143,6 +148,11 @@ ssize_t sys_recvfile(int fromfd, static bool try_splice_call = true; size_t total_written = 0; + DEBUG(10,("sys_recvfile: from = %d, to = %d, " + "offset=%.0f, count = %lu\n", + fromfd, tofd, (double)offset, + (unsigned long)count)); + if (count == 0) { return 0; } diff --git a/source3/smbd/process.c b/source3/smbd/process.c index ab737a89a7..c8ad19dd15 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -252,6 +252,8 @@ static NTSTATUS receive_smb_raw_talloc_partial_read(TALLOC_CTX *mem_ctx, timeout, toread); if (!NT_STATUS_IS_OK(status)) { + DEBUG(10, ("receive_smb_raw_talloc_partial_read: %s\n", + nt_errstr(status))); return status; } } @@ -282,14 +284,8 @@ static NTSTATUS receive_smb_raw_talloc(TALLOC_CTX *mem_ctx, int fd, smb_len_large(lenbuf) > min_recv_size && /* Could be a UNIX large writeX. */ !srv_is_signing_active()) { - status = receive_smb_raw_talloc_partial_read( - mem_ctx, lenbuf, fd, buffer, timeout, p_unread, &len); - - if (!NT_STATUS_IS_OK(status)) { - DEBUG(10, ("receive_smb_raw: %s\n", - nt_errstr(status))); - return status; - } + return receive_smb_raw_talloc_partial_read( + mem_ctx, lenbuf, fd, buffer, timeout, p_unread, plen); } if (!valid_packet_size(len)) { -- cgit