syscall: read() should not write anything if reading EOF.
authorNicolas Derumigny <nderumigny@gmail.com>
Sat, 15 Oct 2016 20:06:24 +0000 (15:06 -0500)
committerNicolas Derumigny <nderumigny@gmail.com>
Sat, 15 Oct 2016 20:06:24 +0000 (15:06 -0500)
commit976ef444b83d9c2ab1cff5cf95434d349e3c3161
tree372796b6f37867fc3a777bac11f16fcf41037685
parent6c72c3551978ef2eabbe9727bf24fd2fcf385318
syscall: read() should not write anything if reading EOF.

Read() should not write anything when returning 0 (EOF).
This patch does not correct the same bug occuring for :

nbr_read=read(file, buf, nbytes)

When nbr_read<nbytes, nbytes bytes are copied into the virtual
RAM instead of nbr_read. If buf is smaller than nbytes, a
page fault occurs, even if buf is in fact bigger than nbr_read.

Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
src/sim/syscall_emul.cc