From 85b9f665b6a2d4397fdd38992152d011265e374b Mon Sep 17 00:00:00 2001 From: Martin Matuska Date: Mon, 2 Mar 2020 02:58:57 +0100 Subject: [PATCH] Add archive_write_disk_windows.c counterpart to previous commit --- libarchive/archive_write_disk_windows.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libarchive/archive_write_disk_windows.c b/libarchive/archive_write_disk_windows.c index 1d1275df3..4b703492b 100644 --- a/libarchive/archive_write_disk_windows.c +++ b/libarchive/archive_write_disk_windows.c @@ -1174,6 +1174,7 @@ _archive_write_disk_finish_entry(struct archive *_a) { struct archive_write_disk *a = (struct archive_write_disk *)_a; int ret = ARCHIVE_OK; + int oerrno; archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_HEADER | ARCHIVE_STATE_DATA, @@ -1281,7 +1282,9 @@ _archive_write_disk_finish_entry(struct archive *_a) /* Windows does not support atomic rename */ disk_unlink(a->name); if (_wrename(a->tmpname, a->name) != 0) { + oerrno = errno; disk_unlink(a->tmpname); + errno = oerrno; archive_set_error(&a->archive, errno, "Failed to safe write"); ret = ARCHIVE_FATAL; -- 2.47.2