]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
check handle validity when closing a file 80/head
authorSergiu Dotenco <sergiu.dotenco@gmail.com>
Mon, 5 May 2014 14:18:51 +0000 (16:18 +0200)
committerSergiu Dotenco <sergiu.dotenco@gmail.com>
Mon, 5 May 2014 14:18:51 +0000 (16:18 +0200)
This eliminates an assertion under Windows that occurs when an archive cannot be
opened.

libarchive/archive_write_open_filename.c

index 196b770e8e834951b1d3776306ca25707f26680d..66e0dfee9f3d1dc22e24e90ef76c99226126d174 100644 (file)
@@ -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);