summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorGeorge Greer <greerga@m-l.org>2009-07-12 14:53:29 -0400
committerYves Orton <demerphq@gemini.(none)>2009-07-26 23:28:59 +0200
commite9105d30edfbaa7f444bc7984c9bafc8e991ad12 (patch)
tree02f4a68781026819995c672ba8325caee5661d7f /embed.h
parentbd54d59dd6a665482e3984318596e9a54427f810 (diff)
downloadperl-e9105d30edfbaa7f444bc7984c9bafc8e991ad12.tar.gz
much better swap logic to support reentrancy and fix assert failure
Commit c74340f9 added backreferences as well as the idea of a ->swap regex pointer to keep track of the match offsets in case of backtracking. The problem is that when Perl re-enters the regex engine to handle utf8::SWASHNEW, the ->swap is not saved/restored/cleared so any capture from the utf8 (Perl) code could inadvertently modify the regex match data that caused the utf8 swash to get built. This change should close out RT #60508
Diffstat (limited to 'embed.h')
-rw-r--r--embed.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/embed.h b/embed.h
index e702d32a47..0ef5ff2e54 100644
--- a/embed.h
+++ b/embed.h
@@ -1468,7 +1468,6 @@
#if defined(PERL_CORE) || defined(PERL_EXT)
#define reghopmaybe3 S_reghopmaybe3
#define find_byclass S_find_byclass
-#define swap_match_buff S_swap_match_buff
#define to_utf8_substr S_to_utf8_substr
#define to_byte_substr S_to_byte_substr
#define reg_check_named_buff_matched S_reg_check_named_buff_matched
@@ -3814,7 +3813,6 @@
#if defined(PERL_CORE) || defined(PERL_EXT)
#define reghopmaybe3 S_reghopmaybe3
#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
-#define swap_match_buff(a) S_swap_match_buff(aTHX_ a)
#define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a)
#define to_byte_substr(a) S_to_byte_substr(aTHX_ a)
#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)