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

Reply via email to