public
/
FUZIX.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b617c78
)
readi: Fix sign handling problems
author
Alan Cox
<alan@linux.intel.com>
Thu, 4 Jun 2015 10:43:14 +0000
(11:43 +0100)
committer
Alan Cox
<alan@linux.intel.com>
Thu, 4 Jun 2015 10:43:14 +0000
(11:43 +0100)
We are permitted to write from beyond EOF, but a read from beyond EOF must
return 0
Kernel/inode.c
patch
|
blob
|
history
diff --git
a/Kernel/inode.c
b/Kernel/inode.c
index
c7c3b57
..
d7bfabb
100644
(file)
--- a/
Kernel/inode.c
+++ b/
Kernel/inode.c
@@
-26,9
+26,12
@@
void readi(inoptr ino, uint8_t flag)
case F_REG:
/* See if end of file will limit read */
-
- udata.u_count = min(udata.u_count,
+ if (ino->c_node.i_size <= udata.u_offset)
+ udata.u_count = 0;
+ else {
+ udata.u_count = min(udata.u_count,
ino->c_node.i_size - udata.u_offset);
+ }
toread = udata.u_count;
goto loop;