From: Joerg Sonnenberger Date: Thu, 19 Jul 2018 19:14:53 +0000 (+0200) Subject: Reject LHA archive entries with negative size. X-Git-Tag: v3.3.3~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2c8c83b9731ff822fad6cc8c670ea5519c366a14;p=thirdparty%2Flibarchive.git Reject LHA archive entries with negative size. --- diff --git a/libarchive/archive_read_support_format_lha.c b/libarchive/archive_read_support_format_lha.c index b8ef4ae10..95c99bb1f 100644 --- a/libarchive/archive_read_support_format_lha.c +++ b/libarchive/archive_read_support_format_lha.c @@ -701,6 +701,12 @@ archive_read_format_lha_read_header(struct archive_read *a, * Prepare variables used to read a file content. */ lha->entry_bytes_remaining = lha->compsize; + if (lha->entry_bytes_remaining < 0) { + archive_set_error(&a->archive, + ARCHIVE_ERRNO_FILE_FORMAT, + "Invalid LHa entry size"); + return (ARCHIVE_FATAL); + } lha->entry_offset = 0; lha->entry_crc_calculated = 0;