diff options
Diffstat (limited to 'source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch')
-rw-r--r-- | source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch b/source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch new file mode 100644 index 000000000..b17200126 --- /dev/null +++ b/source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch @@ -0,0 +1,23 @@ +From eb7939b24a681a04648a59cdebd386b1e9dc9237 Mon Sep 17 00:00:00 2001 +From: Wei-Cheng Pan <legnaleurc@gmail.com> +Date: Mon, 22 Apr 2024 01:55:41 +0900 +Subject: [PATCH] fix: OOB in rar e8 filter (#2135) + +This patch fixes an out-of-bound error in rar e8 filter. +--- + libarchive/archive_read_support_format_rar.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c +index 99a11d170..266d0ee99 100644 +--- a/libarchive/archive_read_support_format_rar.c ++++ b/libarchive/archive_read_support_format_rar.c +@@ -3615,7 +3615,7 @@ execute_filter_e8(struct rar_filter *filter, struct rar_virtual_machine *vm, siz + uint32_t filesize = 0x1000000; + uint32_t i; + +- if (length > PROGRAM_WORK_SIZE || length < 4) ++ if (length > PROGRAM_WORK_SIZE || length <= 4) + return 0; + + for (i = 0; i <= length - 5; i++) |