From 2fc29422f1c2669ff156aa7ff2411c092b9b8562 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 09 2020 18:13:56 +0000 Subject: Apply patch fix-use-after-free-in-delayed-newc.patch patch_name: fix-use-after-free-in-delayed-newc.patch present_in_specfile: true location_in_specfile: 5 --- diff --git a/tar/write.c b/tar/write.c index e15cc06..09c44a3 100644 --- a/tar/write.c +++ b/tar/write.c @@ -540,8 +540,7 @@ write_archive(struct archive *a, struct bsdtar *bsdtar) lafe_warnc(archive_errno(disk), "%s", archive_error_string(disk)); bsdtar->return_value = 1; - archive_entry_free(entry); - continue; + goto next_entry; } /* @@ -557,15 +556,14 @@ write_archive(struct archive *a, struct bsdtar *bsdtar) "%s", archive_error_string(disk)); if (r == ARCHIVE_FATAL) bsdtar->return_value = 1; - else - archive_read_close(disk); - archive_entry_free(entry); - continue; + archive_read_close(disk); + goto next_entry; } write_file(bsdtar, a, entry); - archive_entry_free(entry); archive_read_close(disk); +next_entry: + archive_entry_free(entry); entry = NULL; archive_entry_linkify(bsdtar->resolver, &entry, &sparse_entry); }