mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
Final part of fix for bug #8679 - recvfile code path using splice() on Linux leaves data in the pipe on short write.
The code to set a DOS error on short writeX return is amazingly legacy code, and also breaks the reply as fixup_chain_error_packet() enforces a 2-byte wct on any reply where smb_rcls != 0. Found in testing by Andrew Bartlett. Thanks Andrew ! Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Dec 31 08:05:35 CET 2011 on sn-devel-104
This commit is contained in:
parent
5e6263960a
commit
e39df67669
@ -4671,11 +4671,6 @@ void reply_write_and_X(struct smb_request *req)
|
||||
SSVAL(req->outbuf,smb_vwv2,nwritten);
|
||||
SSVAL(req->outbuf,smb_vwv4,nwritten>>16);
|
||||
|
||||
if (nwritten < (ssize_t)numtowrite) {
|
||||
SCVAL(req->outbuf,smb_rcls,ERRHRD);
|
||||
SSVAL(req->outbuf,smb_err,ERRdiskfull);
|
||||
}
|
||||
|
||||
DEBUG(3,("writeX fnum=%d num=%d wrote=%d\n",
|
||||
fsp->fnum, (int)numtowrite, (int)nwritten));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user