From 7922528eb38c566a09e5dab38721fffadff26d99 Mon Sep 17 00:00:00 2001 From: Sergiu Dotenco Date: Mon, 5 May 2014 16:18:51 +0200 Subject: [PATCH] check handle validity when closing a file This eliminates an assertion under Windows that occurs when an archive cannot be opened. --- libarchive/archive_write_open_filename.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libarchive/archive_write_open_filename.c b/libarchive/archive_write_open_filename.c index 196b770e8..66e0dfee9 100644 --- a/libarchive/archive_write_open_filename.c +++ b/libarchive/archive_write_open_filename.c @@ -243,7 +243,10 @@ file_close(struct archive *a, void *client_data) struct write_file_data *mine = (struct write_file_data *)client_data; (void)a; /* UNUSED */ - close(mine->fd); + + if (mine->fd >= 0) + close(mine->fd); + archive_mstring_clean(&mine->filename); free(mine); return (ARCHIVE_OK); -- 2.47.2