From: Eric Biggers Date: Wed, 10 Jun 2015 00:45:38 +0000 (-0500) Subject: file_io.c: set errno=EINVAL on unexpected end of file X-Git-Tag: v1.8.2~57 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=97fb83608ac22580bbfeff1bdf3111f72d2c1634 file_io.c: set errno=EINVAL on unexpected end of file --- diff --git a/src/file_io.c b/src/file_io.c index 3176ce6f..f641aa28 100644 --- a/src/file_io.c +++ b/src/file_io.c @@ -38,7 +38,7 @@ * Return values: * WIMLIB_ERR_SUCCESS (0) * WIMLIB_ERR_READ (errno set) - * WIMLIB_ERR_UNEXPECTED_END_OF_FILE (errno set to 0) + * WIMLIB_ERR_UNEXPECTED_END_OF_FILE (errno set to EINVAL) */ int full_read(struct filedes *fd, void *buf, size_t count) @@ -47,7 +47,7 @@ full_read(struct filedes *fd, void *buf, size_t count) ssize_t ret = read(fd->fd, buf, count); if (unlikely(ret <= 0)) { if (ret == 0) { - errno = 0; + errno = EINVAL; return WIMLIB_ERR_UNEXPECTED_END_OF_FILE; } if (errno == EINTR) @@ -100,7 +100,7 @@ pipe_read(struct filedes *fd, void *buf, size_t count, off_t offset) * Return values: * WIMLIB_ERR_SUCCESS (0) * WIMLIB_ERR_READ (errno set) - * WIMLIB_ERR_UNEXPECTED_END_OF_FILE (errno set to 0) + * WIMLIB_ERR_UNEXPECTED_END_OF_FILE (errno set to EINVAL) * WIMLIB_ERR_RESOURCE_ORDER (errno set to ESPIPE) */ int @@ -113,7 +113,7 @@ full_pread(struct filedes *fd, void *buf, size_t count, off_t offset) ssize_t ret = pread(fd->fd, buf, count, offset); if (unlikely(ret <= 0)) { if (ret == 0) { - errno = 0; + errno = EINVAL; return WIMLIB_ERR_UNEXPECTED_END_OF_FILE; } if (errno == EINTR) diff --git a/src/resource.c b/src/resource.c index a4cc6c12..9afa25ff 100644 --- a/src/resource.c +++ b/src/resource.c @@ -103,7 +103,7 @@ struct data_range { * * WIMLIB_ERR_SUCCESS (0) * WIMLIB_ERR_READ (errno set) - * WIMLIB_ERR_UNEXPECTED_END_OF_FILE (errno set to 0) + * WIMLIB_ERR_UNEXPECTED_END_OF_FILE (errno set to EINVAL) * WIMLIB_ERR_NOMEM (errno set to ENOMEM) * WIMLIB_ERR_DECOMPRESSION (errno set to EINVAL) * WIMLIB_ERR_INVALID_CHUNK_SIZE (errno set to EINVAL)