Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: e6f89d6bdb73975a869c4438cdd3501b8edd9a7e
      
https://github.com/Perl/perl5/commit/e6f89d6bdb73975a869c4438cdd3501b8edd9a7e
  Author: Yves Orton <demer...@gmail.com>
  Date:   2023-01-20 (Fri, 20 Jan 2023)

  Changed paths:
    M embed.fnc
    M mg.c
    M proto.h
    M regexec.c

  Log Message:
  -----------
  regexec.c - harden internals against missing logical_nparens

We can default a 0 rx->logical_nparens to rx->nparens. If rx->logical_nparens
is zero then either rx->nparens is also zero, or it can be defaulted. This
will fix most re::engine::XXX modules that do not know about the new field,
provided they zero the rx structure during construction. If they don't then
this patch won't hurt anything and we will have to patch them directly.

Also mark re_op_compile() as available to extensions. Marking it as hidden
means that re::engine::PCRE2 and others cannot build.

This patch should go a long way towards fixing issue #20710.


Reply via email to