From fb1856eabd2df39ea1cfd0253fd733f547f14435 Mon Sep 17 00:00:00 2001 From: Tim Kientzle Date: Mon, 13 Nov 2006 16:50:18 +0000 Subject: [PATCH] No change in functionality, but fill in a missing error message when reading a truncated tar archive. --- lib/libarchive/archive_read_support_format_tar.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/libarchive/archive_read_support_format_tar.c b/lib/libarchive/archive_read_support_format_tar.c index 3d3a04a3137..5ad9f1cd6eb 100644 --- a/lib/libarchive/archive_read_support_format_tar.c +++ b/lib/libarchive/archive_read_support_format_tar.c @@ -497,7 +497,12 @@ archive_read_format_tar_read_data(struct archive *a, if (tar->entry_bytes_remaining > 0) { bytes_read = (a->compression_read_ahead)(a, buff, 1); - if (bytes_read <= 0) + if (bytes_read == 0) { + archive_set_error(a, ARCHIVE_ERRNO_MISC, + "Truncated tar archive"); + return (ARCHIVE_FATAL); + } + if (bytes_read < 0) return (ARCHIVE_FATAL); if (bytes_read > tar->entry_bytes_remaining) bytes_read = tar->entry_bytes_remaining;