]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
Bugfix --sparse --diff mode
authorPavel Raiskup <praiskup@redhat.com>
Thu, 9 Jul 2020 19:22:10 +0000 (21:22 +0200)
committerSergey Poznyakoff <gray@gnu.org>
Fri, 10 Jul 2020 06:06:42 +0000 (09:06 +0300)
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.

src/sparse.c

index e60b16ad15d505e2016e69ef215ba41382b7dcd7..cc3c515b0b9da49dc4f0a61308eafac66db036b9 100644 (file)
@@ -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;