From: AZero13 Date: Fri, 16 May 2025 21:41:18 +0000 (-0400) Subject: 7z: Free the file if compression-level option is invalid (#2608) X-Git-Tag: v3.8.0~18 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=c7203f805dbcf6093a3bee3055343c381645bdf4;p=thirdparty%2Flibarchive.git 7z: Free the file if compression-level option is invalid (#2608) Otherwise, the file is leaked. --- diff --git a/libarchive/archive_write_set_format_7zip.c b/libarchive/archive_write_set_format_7zip.c index e7644c03d..902d03f6a 100644 --- a/libarchive/archive_write_set_format_7zip.c +++ b/libarchive/archive_write_set_format_7zip.c @@ -615,6 +615,7 @@ _7z_write_header(struct archive_write *a, struct archive_entry *entry) } else if (level < 0 || level > 9) { archive_set_error(&(a->archive), ARCHIVE_ERRNO_MISC, "compression-level option value `%d' out of range 0-9", level); + file_free(file); return (ARCHIVE_FATAL); } #endif