32 lines
972 B
Diff
32 lines
972 B
Diff
|
|
From 989a2355808a63fc45367785c82ffd46d18c900a Mon Sep 17 00:00:00 2001
|
||
|
|
From: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
||
|
|
Date: Fri, 12 Apr 2024 15:01:47 +1000
|
||
|
|
Subject: [PATCH] Fix Use-After-Free issue for Regexp
|
||
|
|
|
||
|
|
Co-authored-by: Isaac Peka <7493006+isaac-peka@users.noreply.github.com>
|
||
|
|
|
||
|
|
|
||
|
|
Reference:https://github.com/ruby/rdoc/commit/989a2355808a63fc45367785c82ffd46d18c900a
|
||
|
|
Conflict:NA
|
||
|
|
---
|
||
|
|
regexec.c | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/regexec.c b/regexec.c
|
||
|
|
index 73694ab14a..140691ad42 100644
|
||
|
|
--- a/regexec.c
|
||
|
|
+++ b/regexec.c
|
||
|
|
@@ -3449,8 +3449,8 @@ match_at(regex_t* reg, const UChar* str, const UChar* end,
|
||
|
|
CASE(OP_MEMORY_END_PUSH_REC) MOP_IN(OP_MEMORY_END_PUSH_REC);
|
||
|
|
GET_MEMNUM_INC(mem, p);
|
||
|
|
STACK_GET_MEM_START(mem, stkp); /* should be before push mem-end. */
|
||
|
|
- STACK_PUSH_MEM_END(mem, s);
|
||
|
|
mem_start_stk[mem] = GET_STACK_INDEX(stkp);
|
||
|
|
+ STACK_PUSH_MEM_END(mem, s);
|
||
|
|
MOP_OUT;
|
||
|
|
JUMP;
|
||
|
|
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|