From: Pavel Raiskup Date: Thu, 9 Jul 2020 19:22:10 +0000 (+0200) Subject: Bugfix --sparse --diff mode X-Git-Tag: release_1_33~3 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=1263f9bc1d01b212fa153f29ee6a47a654d5071b;p=thirdparty%2Ftar.git Bugfix --sparse --diff mode Originally reported in: https://bugzilla.redhat.com/show_bug.cgi?id=1853469 * src/sparse.c (check_data_region): Only compare the part of buffer really fed by safe_read(), not whole rdsize. --- diff --git a/src/sparse.c b/src/sparse.c index e60b16ad..cc3c515b 100644 --- a/src/sparse.c +++ b/src/sparse.c @@ -684,7 +684,7 @@ check_data_region (struct tar_sparse_file *file, size_t i) } size_left -= bytes_read; mv_size_left (file->stat_info->archive_file_size - file->dumped_size); - if (memcmp (blk->buffer, diff_buffer, rdsize)) + if (memcmp (blk->buffer, diff_buffer, bytes_read)) { report_difference (file->stat_info, _("Contents differ")); return false;