From: Sarah Gilmore Date: Fri, 17 Mar 2023 13:54:32 +0000 (-0400) Subject: Close file handle on windows when padding/truncating file fails X-Git-Tag: v3.7.0~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ce3b753eb9f0adc7dcdf02dd9bc6f6c77abef5a;p=thirdparty%2Flibarchive.git Close file handle on windows when padding/truncating file fails --- diff --git a/libarchive/archive_write_disk_windows.c b/libarchive/archive_write_disk_windows.c index 70533acf9..0124d4fe8 100644 --- a/libarchive/archive_write_disk_windows.c +++ b/libarchive/archive_write_disk_windows.c @@ -1217,6 +1217,8 @@ _archive_write_disk_finish_entry(struct archive *_a) if (la_ftruncate(a->fh, a->filesize) == -1) { archive_set_error(&a->archive, errno, "File size could not be restored"); + CloseHandle(a->fh); + a->fh = INVALID_HANDLE_VALUE; return (ARCHIVE_FAILED); } }