From 0023062c82420c8374396055887c4e89cf2abeed Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Fri, 9 Aug 2024 17:49:18 +0200 Subject: [PATCH] avm2: Short circuit the regexp replacement logic if it's a simple (no pattern) string --- core/src/avm2/regexp.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/avm2/regexp.rs b/core/src/avm2/regexp.rs index bcc7c02d5..8ecb0bdb9 100644 --- a/core/src/avm2/regexp.rs +++ b/core/src/avm2/regexp.rs @@ -159,6 +159,10 @@ impl<'gc> RegExp<'gc> { text: &AvmString<'gc>, m: ®ress::Match, ) -> WString { + if !replacement.contains(b'$') { + // Nothing to do if there's no $ replacement symbols + return replacement.as_wstr().to_owned(); + } let mut ret = WString::new(); let s = replacement.as_wstr(); let mut chars = s.chars().peekable();