summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-11-04 15:38:43 -0800
committerJeremy Allison <jra@samba.org>2007-11-04 15:38:43 -0800
commit4721050df5dd268fbb99199c17071c2b05c61e1f (patch)
treea9e798d6dd51083d6a053bf51eb764ca10a05995 /source3/smbd/process.c
parent5b0b4f23ef5fec3d1ad518237f973d4e014b5766 (diff)
downloadsamba-4721050df5dd268fbb99199c17071c2b05c61e1f.tar.gz
samba-4721050df5dd268fbb99199c17071c2b05c61e1f.tar.bz2
samba-4721050df5dd268fbb99199c17071c2b05c61e1f.zip
Don't believe len returned from read_smb_length_return_keepalive(),
it may be a UNIX large writeX (which wraps len in that case). Stevef this should fix your 128k write bug. Jeremy. (This used to be commit de2ebffa3c99ed28a3868fd956ef45629ca855b6)
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r--source3/smbd/process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index aa39b01258..659b7b55e9 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -259,7 +259,7 @@ static ssize_t receive_smb_raw_talloc(TALLOC_CTX *mem_ctx,
if (CVAL(lenbuf,0) != SMBkeepalive &&
min_recv_size &&
- len > min_recv_size &&
+ smb_len_large(lenbuf) > min_recv_size && /* Could be a UNIX large writeX. */
!srv_is_signing_active()) {
return receive_smb_raw_talloc_partial_read(mem_ctx,