diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/posix/preadv.c | 2 | ||||
-rw-r--r-- | sysdeps/posix/readv.c | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 4b4bbdc63b..d30e6b3859 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2009-04-17 Ulrich Drepper <drepper@redhat.com> + * sysdeps/posix/preadv.c: Reading of zero bytes is no error. + * sysdeps/posix/readv.c: Likewise. + Reported by Markus Armbruster <armbru@redhat.com>. + * malloc/hooks.c (top_check): Force hook value into register. 2009-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org> diff --git a/sysdeps/posix/preadv.c b/sysdeps/posix/preadv.c index e697604c19..3d975226cf 100644 --- a/sysdeps/posix/preadv.c +++ b/sysdeps/posix/preadv.c @@ -83,7 +83,7 @@ PREADV (int fd, const struct iovec *vector, int count, OFF_T offset) /* Read the data. */ ssize_t bytes_read = PREAD (fd, buffer, bytes, offset); - if (bytes_read <= 0) + if (bytes_read < 0) return -1; /* Copy the data from BUFFER into the memory specified by VECTOR. */ diff --git a/sysdeps/posix/readv.c b/sysdeps/posix/readv.c index 50bcc91315..6f16b9d946 100644 --- a/sysdeps/posix/readv.c +++ b/sysdeps/posix/readv.c @@ -70,7 +70,7 @@ __libc_readv (int fd, const struct iovec *vector, int count) /* Read the data. */ ssize_t bytes_read = __read (fd, buffer, bytes); - if (bytes_read <= 0) + if (bytes_read < 0) return -1; /* Copy the data from BUFFER into the memory specified by VECTOR. */ |