From d401b3383c02517c6372ef2247fbcd57ffc1a41c Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 09 2020 18:13:09 +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: 6 --- diff --git a/tar/write.c b/tar/write.c index 9c24566..63c619c 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); }