diff options
author | Jeremy Allison <jra@samba.org> | 2007-04-09 21:01:46 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:19:16 -0500 |
commit | a0987247347e473e4802f9267773b0bff68f0187 (patch) | |
tree | c24bf29d76b899f516bd27dad835cff607910485 /source3/smbd/reply.c | |
parent | a40df6f92d42676a9184fb2c20a11d5662ca5b3a (diff) | |
download | samba-a0987247347e473e4802f9267773b0bff68f0187.tar.gz samba-a0987247347e473e4802f9267773b0bff68f0187.tar.bz2 samba-a0987247347e473e4802f9267773b0bff68f0187.zip |
r22145: Fix bug #4494 - reported by Kevin Jamieson <bugzilla@kevinjamieson.com>.
If returning a mapped UNIX error from sendfile, don't call chain_reply.
Jeremy.
(This used to be commit 38404c990db1436241c3a774c51196bc058d7576)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index d7b3a0fab1..eb4106b0c1 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -2706,8 +2706,10 @@ int reply_read_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt } nread = send_file_readX(conn, inbuf, outbuf, length, bufsize, fsp, startpos, smb_maxcnt); - if (nread != -1) + /* Only call chain_reply if not an error. */ + if (nread != -1 && SVAL(outbuf,smb_rcls) == 0) { nread = chain_reply(inbuf,outbuf,length,bufsize); + } END_PROFILE(SMBreadX); return nread; |