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

tar: return correct error for short read of tar archive

(cherry picked from commit ca368916)
parent 483f64ea
......@@ -109,8 +109,13 @@ static ssize_t tar_entry_read(void *stream, void *ptr, size_t size)
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