From 481572c63f5a259f1338a1b74e2dee304bd0df0b Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Thu, 9 Jan 2014 17:22:08 +0200 Subject: [PATCH] Minor bugfixes * src/compare.c (diff_dumpdir): Close descriptor if fstat failed. (diff_multivol): Make sure the descriptor is closed and eventual errors reported if lseek fails. Both reported by Jiri Kukacka. --- src/compare.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/compare.c b/src/compare.c index 407fd40..3bd0f07 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) -- 2.45.2