Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 0c859ae7a568a1aba1dae5ed672de2f39ed6a662 https://github.com/Perl/perl5/commit/0c859ae7a568a1aba1dae5ed672de2f39ed6a662 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-19 (Sat, 19 Apr 2025)
Changed paths: M embed.fnc M embed.h M proto.h M regcomp.c M regen/scope_types.pl M scope.c M scope.h M scope_types.h M sv.c Log Message: ----------- regcomp: handle cloning the rexc cleanup in the scope stack Previous on Win32 this could cause a double-free of the RExC state if an emulated fork was done with the free of the state on the scope stack. Use a custom save type and prevent freeing in the cloned process to prevent the double-free. Fixes #23022 Commit: fef3a42e5353a04ff75d36e1a61de00667b094e5 https://github.com/Perl/perl5/commit/fef3a42e5353a04ff75d36e1a61de00667b094e5 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-19 (Sat, 19 Apr 2025) Changed paths: M pod/perldelta.pod Log Message: ----------- perldelta for prevent duplicate free of RExC state Commit: 349f8f5bca7dc8db069516e6b23bd4f5ce80ffb8 https://github.com/Perl/perl5/commit/349f8f5bca7dc8db069516e6b23bd4f5ce80ffb8 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-19 (Sat, 19 Apr 2025) Changed paths: M regcomp.c Log Message: ----------- regcomp: ensure the RExC_state freed earlier rather than later 388bf71 (ignoring #23022 for now) ensured that the RExC_state and its controlled pointers were freed once and only once, regardless of whether re_op_compile() returned normally or threw an exception. Unfortunately that free could happen very later, surviving well beyond when the regexp was compiled. Add an ENTER/LEAVE pair to ensure the cleanup is done immediately on a normal return. Compare: https://github.com/Perl/perl5/compare/a707dec8b10d...349f8f5bca7d To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications