summaryrefslogtreecommitdiffstats
path: root/source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch')
-rw-r--r--source/l/libarchive/eb7939b24a681a04648a59cdebd386b1e9dc9237.patch23
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++)