Branch: refs/heads/smoke-me/tonyc/21661-no-warn-ckdead
  Home:   https://github.com/Perl/perl5
  Commit: 30f39e5b9b181d9a7897f946ba8f8dbe91b31d4d
      
https://github.com/Perl/perl5/commit/30f39e5b9b181d9a7897f946ba8f8dbe91b31d4d
  Author: Tony Cook <t...@develop-help.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M t/re/pat.t

  Log Message:
  -----------
  add tests for #21661


  Commit: 13d5ca7ee2d8a60bbe4d836cc7642499932625d2
      
https://github.com/Perl/perl5/commit/13d5ca7ee2d8a60bbe4d836cc7642499932625d2
  Author: Tony Cook <t...@develop-help.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M regcomp.c
    M regcomp_internal.h

  Log Message:
  -----------
  safer cleanup when failing to compile regexps

Prior to this commit when producing a warning the regexp compiler
would check if the warning category was marked as FATAL, and if it was
it would add clean up to the save stack to release buffers used during
compilation and to release the working REGEXP SV.

This causes two type of problems:

- if an error was already queued, Perl_ck_warner() returns even if
  the warning is fatal, this meant that the normal clean up code
  Perl_re_op_compile() would also run, resulting in a double free
  of the buffers.

- without fatal warnings, if a $SIG{__WARN__} handler died, the
  buffers and the working REGEXP SV would leak.

Avoid this by using SAVEDESTRUCTOR_X() to release the memory and
optionally the SV at the end of scope.

Fixes #21661


  Commit: 1d8b2c654a9e60c4d8c64eb46056bc52001d0575
      
https://github.com/Perl/perl5/commit/1d8b2c654a9e60c4d8c64eb46056bc52001d0575
  Author: Tony Cook <t...@develop-help.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M regcomp_internal.h

  Log Message:
  -----------
  regcomp_internal.h: simplify vFAIL*() macros

These can be simpler, and since we allow use of __VA_ARGS__
we can consolidate Simple_vFAIL[1-4]() into Simple_vFAILn()


  Commit: 2016cd18977423d9e66d50214e319a6ee6702298
      
https://github.com/Perl/perl5/commit/2016cd18977423d9e66d50214e319a6ee6702298
  Author: Tony Cook <t...@develop-help.com>
  Date:   2024-02-22 (Thu, 22 Feb 2024)

  Changed paths:
    M regcomp_internal.h

  Log Message:
  -----------
  regcomp_internal.h: removed unused PREPARE_TO_DIE

We are now always prepared for death.


Compare: https://github.com/Perl/perl5/compare/30f39e5b9b18%5E...2016cd189774

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to