Fix improperly passed file descriptors
Fix for commit 14ea89366f
Report by Andres Freund
This commit is contained in:
parent
0a78320057
commit
4335c95815
|
@ -558,15 +558,15 @@ _tarReadRaw(ArchiveHandle *AH, void *buf, size_t len, TAR_MEMBER *th, FILE *fh)
|
||||||
if (th->zFH)
|
if (th->zFH)
|
||||||
{
|
{
|
||||||
res = GZREAD(&((char *) buf)[used], 1, len, th->zFH);
|
res = GZREAD(&((char *) buf)[used], 1, len, th->zFH);
|
||||||
if (res != len && !GZEOF(fh))
|
if (res != len && !GZEOF(th->zFH))
|
||||||
exit_horribly(modulename,
|
exit_horribly(modulename,
|
||||||
"could not read from input file: %s\n", strerror(errno));
|
"could not read from input file: %s\n", strerror(errno));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = fread(&((char *) buf)[used], 1, len, th->nFH);
|
res = fread(&((char *) buf)[used], 1, len, th->nFH);
|
||||||
if (res != len && !feof(fh))
|
if (res != len && !feof(th->nFH))
|
||||||
READ_ERROR_EXIT(fh);
|
READ_ERROR_EXIT(th->nFH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue