Commit ca368916 authored by Timo Teräs's avatar Timo Teräs

tar: return correct error for short read of tar archive

parent ce72c849
......@@ -105,12 +105,17 @@ static ssize_t tar_entry_read(void *stream, void *ptr, size_t size)
if (size > teis->bytes_left)
size = teis->bytes_left;
if (size == 0)
return 0;
if (size == 0)
return 0;
r = teis->tar_is->read(teis->tar_is, ptr, size);
if (r < 0)
if (r <= 0) {
/* If inner stream returned zero (end-of-stream), we
* are getting short read, because tar header indicated
* more was to be expected. */
if (r == 0) return -ECONNABORTED;
return r;
}
teis->bytes_left -= r;
if (teis->csum == NULL)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment