26 lines
859 B
Diff
26 lines
859 B
Diff
|
From 2910a5736c3f238d2cde6cc757b01868d877ebcb Mon Sep 17 00:00:00 2001
|
||
|
From: Wei-Cheng Pan <legnaleurc@gmail.com>
|
||
|
Date: Sun, 21 Apr 2024 19:11:42 +0900
|
||
|
Subject: [PATCH] fix: OOB 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 99a11d17..266d0ee9 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++)
|
||
|
--
|
||
|
2.45.1
|
||
|
|