diff --git a/src/compare.c b/src/compare.c index 407fd401..3bd0f07e 100644 --- a/src/compare.c +++ b/src/compare.c @@ -371,7 +371,10 @@ diff_dumpdir (struct tar_stat_info *dir) if (fd < 0) diag = open_diag; else if (fstat (fd, &dir->stat)) - diag = stat_diag; + { + diag = stat_diag; + close (fd); + } else dir->fd = fd; if (diag) @@ -439,10 +442,9 @@ diff_multivol (void) { seek_error_details (current_stat_info.file_name, offset); report_difference (¤t_stat_info, NULL); - return; } - - read_and_process (¤t_stat_info, process_rawdata); + else + read_and_process (¤t_stat_info, process_rawdata); status = close (fd); if (status != 0)