Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

global match data and context #19

Open
rurban opened this issue Apr 12, 2017 · 1 comment
Open

global match data and context #19

rurban opened this issue Apr 12, 2017 · 1 comment

Comments

@rurban
Copy link
Owner

rurban commented Apr 12, 2017

See PR #18 for the data part, #6 for the context parts.
There are two independent global contexts: compile and match.

#18 regressed in one t/perl/regexp.t test. 1840 with an uninitialized stack element st.reg_sv.

# check we have the right utf8ness as we switch back and forth between
# patterns
^(\x{100}|a)(??{ qr/.?\xF7/d})	a_\xF7	y	-	-

sometimes this even gives an regexp memory corruption error in the #18 branch match-data-comp-alloc, sometimes also corrupted regexp pointers. Wrong restauration of st.reg_sv after the nested codeblock fallback.
asan reports a heap-buffer-overflow in S_regmatch.

@rurban
Copy link
Owner Author

rurban commented Jul 25, 2017

Merged Avar's match part #18 with 0.14,
accepting the single regression and memory corruption.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant