]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Close file handle on windows when padding/truncating file fails
authorSarah Gilmore <sgilmore@mathworks.com>
Fri, 17 Mar 2023 13:54:32 +0000 (09:54 -0400)
committerMartin Matuška <martin@matuska.de>
Thu, 13 Jul 2023 22:50:24 +0000 (00:50 +0200)
libarchive/archive_write_disk_windows.c

index 70533acf94e2941af5990969475ad52f3c914956..0124d4fe82e6f151bb668b27706e2787c93d4784 100644 (file)
@@ -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);
                }
        }