summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-05-20 12:09:48 -0700
committerJeremy Allison <jra@samba.org>2008-05-20 12:09:48 -0700
commit8ca459e067c3d4f3495e0a6dafea7296e3dfb2ab (patch)
treeba4266142ff03a157f41b4428d9e0b8484abb398
parente84026a29b795ab5fc73c81d7790ec83aad83987 (diff)
downloadsamba-8ca459e067c3d4f3495e0a6dafea7296e3dfb2ab.tar.gz
samba-8ca459e067c3d4f3495e0a6dafea7296e3dfb2ab.tar.bz2
samba-8ca459e067c3d4f3495e0a6dafea7296e3dfb2ab.zip
Fix bug #5477 - recvfile code was broken.
Jeremy. (This used to be commit 830337f054a6c0646d85df33d9958e99283e727a)
-rw-r--r--source3/lib/recvfile.c10
-rw-r--r--source3/smbd/process.c12
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)) {