aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/file.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-11-11 10:33:58 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-11-11 10:33:58 +0000
commit3a6ea06efab29198ba664945cec8296b7e1e356e (patch)
tree390cdfaafa43ac0201d8e54ee63fcc45fac07a20 /kernel/file.c
parent076136196276bf5cd898b7fc82d4ee0aeb8d7fde (diff)
downloadlibfuse-3a6ea06efab29198ba664945cec8296b7e1e356e.tar.gz
merge from 2_0_merge1 to 2_0_merge2
Diffstat (limited to 'kernel/file.c')
-rw-r--r--kernel/file.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/file.c b/kernel/file.c
index aa9dba3..a08d236 100644
--- a/kernel/file.c
+++ b/kernel/file.c
@@ -618,8 +618,12 @@ static ssize_t fuse_send_write(struct fuse_req *req, int writepage,
req->out.args[0].value = &outarg;
request_send(fc, req);
res = req->out.h.error;
- if (!res)
- return outarg.size;
+ if (!res) {
+ if (outarg.size > count)
+ return -EPROTO;
+ else
+ return outarg.size;
+ }
else
return res;
}