Internal changes which are not visible to clients of the library are mostly not
listed here.
+Version 10.46 27-August-2025
+----------------------------
+
+1. (#771) (CVE-2025-58050) Security fix to prevent a read-past-the-end memory
+error, of arbitrary length. An attacker-controlled regex pattern is required,
+and it cannot be triggered by providing crafted subject (match) text. The
+(*ACCEPT) and (*scs:) pattern features must be used together.
+
+Release 10.44 and earlier are not affected.
+
+This could have implications of denial-of-service or information disclosure,
+and could potentially be used to escalate other vulnerabilities in a system
+(such as information disclosure being used to escalate the severity of an
+unrelated bug in another system).
+
+
Version 10.45 05-February-2025
------------------------------
module(
name = "pcre2",
- version = "10.45",
+ version = "10.46",
compatibility_level = 1,
)
News about PCRE2 releases
-------------------------
+Version 10.46 27-August-2025
+----------------------------
+
+This is a security-only release, to address CVE-2025-58050.
+
+Compared to 10.45, this release has only a minimal code change to prevent a
+read-past-the-end memory error, of arbitrary length. An attacker-controlled
+regex pattern is required, and it cannot be triggered by providing crafted
+subject (match) text. The (*ACCEPT) and (*scs:) pattern features must be used
+together.
+
+Release 10.44 and earlier are not affected.
+
+This could have implications of denial-of-service or information disclosure,
+and could potentially be used to escalate other vulnerabilities in a system
+(such as information disclosure being used to escalate the severity of an
+unrelated bug in another system).
+
+
Version 10.45 05-February-2025
------------------------------
Please contact the maintainers for any queries about release integrity or the
project's supply-chain.
+## Previous vulnerabilities
+
+* CVE-2025-58050 (August 2025). Affects 10.45 only (not earlier), and is fixed
+ in 10.46.
+
## Reporting vulnerabilities
The PCRE2 project prioritises security. We appreciate third-party testing and
### Response procedure
-PCRE2 has never previously made a rapid or embargoed release in response to a
-security incident. We would work with security managers from trusted downstream
-distributors, such as major Linux distributions, before disclosing the
-vulnerability publicly.
+PCRE2 has in the past made at least one rapid release in response to
+security incidents.
+
+We have never produced an embargoed release, or provided preferential
+access to security fixes to any clients.
+
+We would aim to notify security managers from trusted downstream distributors,
+such as major Linux distributions, via the `pcre2-dev` mailing list, by
+publicly signalling an upcoming security release before disclosing the
+vulnerability publicly, where advance notification is possible.
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for PCRE2 10.45.
+# Generated by GNU Autoconf 2.71 for PCRE2 10.46.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
# Identity of this package.
PACKAGE_NAME='PCRE2'
PACKAGE_TARNAME='pcre2'
-PACKAGE_VERSION='10.45'
-PACKAGE_STRING='PCRE2 10.45'
+PACKAGE_VERSION='10.46'
+PACKAGE_STRING='PCRE2 10.46'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures PCRE2 10.45 to adapt to many kinds of systems.
+\`configure' configures PCRE2 10.46 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of PCRE2 10.45:";;
+ short | recursive ) echo "Configuration of PCRE2 10.46:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-PCRE2 configure 10.45
+PCRE2 configure 10.46
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by PCRE2 $as_me 10.45, which was
+It was created by PCRE2 $as_me 10.46, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
# Define the identity of the package.
PACKAGE='pcre2'
- VERSION='10.45'
+ VERSION='10.46'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
# Versioning
PCRE2_MAJOR="10"
-PCRE2_MINOR="45"
+PCRE2_MINOR="46"
PCRE2_PRERELEASE=""
-PCRE2_DATE="2025-02-05"
+PCRE2_DATE="2025-08-27"
if test "$PCRE2_MINOR" = "08" -o "$PCRE2_MINOR" = "09"
then
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by PCRE2 $as_me 10.45, which was
+This file was extended by PCRE2 $as_me 10.46, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-PCRE2 config.status 10.45
+PCRE2 config.status 10.46
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
dnl be defined as -RC2, for example. For real releases, it should be empty.
m4_define(pcre2_major, [10])
-m4_define(pcre2_minor, [45])
+m4_define(pcre2_minor, [46])
m4_define(pcre2_prerelease, [])
-m4_define(pcre2_date, [2025-02-05])
+m4_define(pcre2_date, [2025-08-27])
# Libtool shared library interface versions (current:revision:age)
m4_define(libpcre2_8_version, [14:0:14])
-.TH PCRE2-CONFIG 1 "28 September 2014" "PCRE2 10.45"
+.TH PCRE2-CONFIG 1 "28 September 2014" "PCRE2 10.46"
.SH NAME
pcre2-config - program to return PCRE2 configuration
.SH SYNOPSIS
Last updated: 28 September 2014
-PCRE2 10.45 28 September 2014 PCRE2-CONFIG(1)
+PCRE2 10.46 28 September 2014 PCRE2-CONFIG(1)
-.TH PCRE2 3 "18 December 2024" "PCRE2 10.45"
+.TH PCRE2 3 "18 December 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH INTRODUCTION
Copyright (c) 1997-2021 University of Cambridge.
-PCRE2 10.45 18 December 2024 PCRE2(3)
+PCRE2 10.46 18 December 2024 PCRE2(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 26 December 2024 PCRE2API(3)
+PCRE2 10.46 26 December 2024 PCRE2API(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 16 April 2024 PCRE2BUILD(3)
+PCRE2 10.46 16 April 2024 PCRE2BUILD(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 19 January 2024 PCRE2CALLOUT(3)
+PCRE2 10.46 19 January 2024 PCRE2CALLOUT(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 02 October 2024 PCRE2COMPAT(3)
+PCRE2 10.46 02 October 2024 PCRE2COMPAT(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 22 August 2024 PCRE2JIT(3)
+PCRE2 10.46 22 August 2024 PCRE2JIT(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2023 University of Cambridge.
-PCRE2 10.45 16 August 2023 PCRE2LIMITS(3)
+PCRE2 10.46 16 August 2023 PCRE2LIMITS(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 30 August 2024 PCRE2MATCHING(3)
+PCRE2 10.46 30 August 2024 PCRE2MATCHING(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2019 University of Cambridge.
-PCRE2 10.45 27 November 2024 PCRE2PARTIAL(3)
+PCRE2 10.46 27 November 2024 PCRE2PARTIAL(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 27 November 2024 PCRE2PATTERN(3)
+PCRE2 10.46 27 November 2024 PCRE2PATTERN(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2022 University of Cambridge.
-PCRE2 10.45 06 December 2022 PCRE2PERFORM(3)
+PCRE2 10.46 06 December 2022 PCRE2PERFORM(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 27 November 2024 PCRE2POSIX(3)
+PCRE2 10.46 27 November 2024 PCRE2POSIX(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2016 University of Cambridge.
-PCRE2 10.45 14 November 2023 PCRE2SAMPLE(3)
+PCRE2 10.46 14 November 2023 PCRE2SAMPLE(3)
------------------------------------------------------------------------------
PCRE2SERIALIZE(3) Library Functions Manual PCRE2SERIALIZE(3)
Copyright (c) 1997-2018 University of Cambridge.
-PCRE2 10.45 19 January 2024 PCRE2SERIALIZE(3)
+PCRE2 10.46 19 January 2024 PCRE2SERIALIZE(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 27 November 2024 PCRE2SYNTAX(3)
+PCRE2 10.46 27 November 2024 PCRE2SYNTAX(3)
------------------------------------------------------------------------------
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 27 November 2024 PCRE2UNICODE(3)
+PCRE2 10.46 27 November 2024 PCRE2UNICODE(3)
------------------------------------------------------------------------------
-.TH PCRE2_COMPILE 3 "23 March 2017" "PCRE2 10.45"
+.TH PCRE2_COMPILE 3 "23 March 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CODE_COPY 3 "22 November 2016" "PCRE2 10.45"
+.TH PCRE2_CODE_COPY 3 "22 November 2016" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CODE_COPY 3 "16 January 2017" "PCRE2 10.45"
+.TH PCRE2_CODE_COPY 3 "16 January 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CODE_FREE 3 "28 June 2018" "PCRE2 10.45"
+.TH PCRE2_CODE_FREE 3 "28 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_COMPILE 3 "30 October 2024" "PCRE2 10.45"
+.TH PCRE2_COMPILE 3 "30 October 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_COMPILE_CONTEXT_COPY 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_COMPILE_CONTEXT_COPY 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_COMPILE_CONTEXT_CREATE 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_COMPILE_CONTEXT_CREATE 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_COMPILE_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.45"
+.TH PCRE2_COMPILE_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CONFIG 3 "16 September 2017" "PCRE2 10.45"
+.TH PCRE2_CONFIG 3 "16 September 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CONVERT_CONTEXT_COPY 3 "12 July 2017" "PCRE2 10.45"
+.TH PCRE2_CONVERT_CONTEXT_COPY 3 "12 July 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CONVERT_CONTEXT_CREATE 3 "12 July 2017" "PCRE2 10.45"
+.TH PCRE2_CONVERT_CONTEXT_CREATE 3 "12 July 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CONVERT_CONTEXT_FREE 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_CONVERT_CONTEXT_FREE 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_CONVERTED_PATTERN_FREE 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_CONVERTED_PATTERN_FREE 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_DFA_MATCH 3 "31 August 2021" "PCRE2 10.45"
+.TH PCRE2_DFA_MATCH 3 "31 August 2021" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GENERAL_CONTEXT_COPY 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_GENERAL_CONTEXT_COPY 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GENERAL_CONTEXT_CREATE 3 "23 January 2023" "PCRE2 10.45"
+.TH PCRE2_GENERAL_CONTEXT_CREATE 3 "23 January 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GENERAL_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.45"
+.TH PCRE2_GENERAL_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_ERROR_MESSAGE 3 "24 March 2017" "PCRE2 10.45"
+.TH PCRE2_GET_ERROR_MESSAGE 3 "24 March 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_MARK 3 "13 January 2018" "PCRE2 10.45"
+.TH PCRE2_GET_MARK 3 "13 January 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_MATCH_DATA_HEAPFRAMES_SIZE 3 "18 January 2023" "PCRE2 10.45"
+.TH PCRE2_GET_MATCH_DATA_HEAPFRAMES_SIZE 3 "18 January 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_MATCH_DATA_SIZE 3 "17 October 2019" "PCRE2 10.45"
+.TH PCRE2_GET_MATCH_DATA_SIZE 3 "17 October 2019" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_OVECTOR_COUNT 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_GET_OVECTOR_COUNT 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_OVECTOR_POINTER 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_GET_OVECTOR_POINTER 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_GET_STARTCHAR 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_GET_STARTCHAR 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_JIT_COMPILE 3 "22 August 2024" "PCRE2 10.45"
+.TH PCRE2_JIT_COMPILE 3 "22 August 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_JIT_FREE_UNUSED_MEMORY 3 "24 April 2020" "PCRE2 10.45"
+.TH PCRE2_JIT_FREE_UNUSED_MEMORY 3 "24 April 2020" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_JIT_MATCH 3 "20 January 2023" "PCRE2 10.45"
+.TH PCRE2_JIT_MATCH 3 "20 January 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_JIT_STACK_ASSIGN 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_JIT_STACK_ASSIGN 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_JIT_STACK_CREATE 3 "23 January 2023" "PCRE2 10.45"
+.TH PCRE2_JIT_STACK_CREATE 3 "23 January 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_JIT_STACK_FREE 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_JIT_STACK_FREE 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MAKETABLES 3 "28 July 2019" "PCRE2 10.45"
+.TH PCRE2_MAKETABLES 3 "28 July 2019" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MAKETABLES_FREE 3 "03 September 2019" "PCRE2 10.45"
+.TH PCRE2_MAKETABLES_FREE 3 "03 September 2019" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH 3 "27 January 2024" "PCRE2 10.45"
+.TH PCRE2_MATCH 3 "27 January 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH_CONTEXT_COPY 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_MATCH_CONTEXT_COPY 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH_CONTEXT_CREATE 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_MATCH_CONTEXT_CREATE 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.45"
+.TH PCRE2_MATCH_CONTEXT_FREE 3 "28 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH_DATA_CREATE 3 "28 August 2021" "PCRE2 10.45"
+.TH PCRE2_MATCH_DATA_CREATE 3 "28 August 2021" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH_DATA_CREATE_FROM_PATTERN 3 "19 August 2022" "PCRE2 10.45"
+.TH PCRE2_MATCH_DATA_CREATE_FROM_PATTERN 3 "19 August 2022" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_MATCH_DATA_FREE 3 "16 August 2023" "PCRE2 10.45"
+.TH PCRE2_MATCH_DATA_FREE 3 "16 August 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_PATTERN_CONVERT 3 "12 July 2017" "PCRE2 10.45"
+.TH PCRE2_PATTERN_CONVERT 3 "12 July 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_PATTERN_INFO 3 "14 February 2019" "PCRE2 10.45"
+.TH PCRE2_PATTERN_INFO 3 "14 February 2019" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SERIALIZE_DECODE 3 "22 April 2022" "PCRE2 10.45"
+.TH PCRE2_SERIALIZE_DECODE 3 "22 April 2022" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SERIALIZE_ENCODE 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_SERIALIZE_ENCODE 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SERIALIZE_FREE 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_SERIALIZE_FREE 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SERIALIZE_GET_NUMBER_OF_CODES 3 "13 August 2018" "PCRE2 10.45"
+.TH PCRE2_SERIALIZE_GET_NUMBER_OF_CODES 3 "13 August 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_BSR 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_SET_BSR 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_CALLOUT 3 "25 March 2017" "PCRE2 10.45"
+.TH PCRE2_SET_CALLOUT 3 "25 March 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_CHARACTER_TABLES 3 "15 April 2020" "PCRE2 10.45"
+.TH PCRE2_SET_CHARACTER_TABLES 3 "15 April 2020" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_COMPILE_EXTRA_OPTIONS 3 "14 October 2024" "PCRE2 10.45"
+.TH PCRE2_SET_COMPILE_EXTRA_OPTIONS 3 "14 October 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_COMPILE_RECURSION_GUARD 3 "26 November 2014" "PCRE2 10.45"
+.TH PCRE2_SET_COMPILE_RECURSION_GUARD 3 "26 November 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_DEPTH_LIMIT 3 "25 March 2017" "PCRE2 10.45"
+.TH PCRE2_SET_DEPTH_LIMIT 3 "25 March 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_GLOB_ESCAPE 3 "12 July 2017" "PCRE2 10.45"
+.TH PCRE2_SET_GLOB_ESCAPE 3 "12 July 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_GLOB_SEPARATOR 3 "17 June 2018" "PCRE2 10.45"
+.TH PCRE2_SET_GLOB_SEPARATOR 3 "17 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_HEAP_LIMIT 3 "17 June 2018" "PCRE2 10.45"
+.TH PCRE2_SET_HEAP_LIMIT 3 "17 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_MATCH_LIMIT 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_SET_MATCH_LIMIT 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "09 June 2024" "PCRE2 10.45"
+.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "09 June 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_MAX_PATTERN_LENGTH 3 "05 October 2016" "PCRE2 10.45"
+.TH PCRE2_SET_MAX_PATTERN_LENGTH 3 "05 October 2016" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_NEWLINE 3 "11 August 2023" "PCRE2 10.45"
+.TH PCRE2_SET_NEWLINE 3 "11 August 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_NEWLINE 3 "19 July 2017" "PCRE2 10.45"
+.TH PCRE2_SET_NEWLINE 3 "19 July 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_OFFSET_LIMIT 3 "22 September 2015" "PCRE2 10.45"
+.TH PCRE2_SET_OFFSET_LIMIT 3 "22 September 2015" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_OPTIMIZE 3 "22 September 2024" "PCRE2 10.45"
+.TH PCRE2_SET_OPTIMIZE 3 "22 September 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_PARENS_NEST_LIMIT 3 "25 October 2014" "PCRE2 10.45"
+.TH PCRE2_SET_PARENS_NEST_LIMIT 3 "25 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_RECURSION_LIMIT 3 "19 July 2017" "PCRE2 10.45"
+.TH PCRE2_SET_RECURSION_LIMIT 3 "19 July 2017" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_RECURSION_MEMORY_MANAGEMENT 3 "23 January 2023" "PCRE2 10.45"
+.TH PCRE2_SET_RECURSION_MEMORY_MANAGEMENT 3 "23 January 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_SUBSTITUTE_CALLOUT 3 "04 October 2024" "PCRE2 10.45"
+.TH PCRE2_SET_SUBSTITUTE_CALLOUT 3 "04 October 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SET_SUBSTITUTE_CASE_CALLOUT 3 "26 December 2024" "PCRE2 10.45"
+.TH PCRE2_SET_SUBSTITUTE_CASE_CALLOUT 3 "26 December 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTITUTE 3 "27 November 2021" "PCRE2 10.45"
+.TH PCRE2_SUBSTITUTE 3 "27 November 2021" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_COPY_BYNAME 3 "19 December 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_COPY_BYNAME 3 "19 December 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_COPY_BYNUMBER 3 "13 December 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_COPY_BYNUMBER 3 "13 December 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_FREE 3 "28 June 2018" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_FREE 3 "28 June 2018" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_GET_BYNAME 3 "19 December 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_GET_BYNAME 3 "19 December 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_GET_BYNUMBER 3 "13 December 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_GET_BYNUMBER 3 "13 December 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_LENGTH_BYNAME 3 "21 October 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_LENGTH_BYNAME 3 "21 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_LENGTH_BYNUMBER 3 "22 December 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_LENGTH_BYNUMBER 3 "22 December 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_LIST_FREE 3 "02 December 2023" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_LIST_FREE 3 "02 December 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_LIST_GET 3 "21 October 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_LIST_GET 3 "21 October 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_NAMETABLE_SCAN 3 "06 February 2019" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_NAMETABLE_SCAN 3 "06 February 2019" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2_SUBSTRING_NUMBER_FROM_NAME 3 "03 November 2014" "PCRE2 10.45"
+.TH PCRE2_SUBSTRING_NUMBER_FROM_NAME 3 "03 November 2014" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2API 3 "26 December 2024" "PCRE2 10.45"
+.TH PCRE2API 3 "26 December 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.sp
-.TH PCRE2BUILD 3 "16 April 2024" "PCRE2 10.45"
+.TH PCRE2BUILD 3 "16 April 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.
-.TH PCRE2CALLOUT 3 "19 January 2024" "PCRE2 10.45"
+.TH PCRE2CALLOUT 3 "19 January 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH SYNOPSIS
-.TH PCRE2COMPAT 3 "02 October 2024" "PCRE2 10.45"
+.TH PCRE2COMPAT 3 "02 October 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "DIFFERENCES BETWEEN PCRE2 AND PERL"
-.TH PCRE2CONVERT 3 "14 November 2023" "PCRE2 10.45"
+.TH PCRE2CONVERT 3 "14 November 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "EXPERIMENTAL PATTERN CONVERSION FUNCTIONS"
-.TH PCRE2DEMO 3 "31 August 2021" "PCRE2 10.45"
+.TH PCRE2DEMO 3 "31 August 2021" "PCRE2 10.46"
.\"AUTOMATICALLY GENERATED BY PrepareRelease - do not EDIT!
.SH NAME
PCRE2DEMO - A demonstration C program for PCRE2
-.TH PCRE2GREP 1 "04 February 2025" "PCRE2 10.45"
+.TH PCRE2GREP 1 "04 February 2025" "PCRE2 10.46"
.SH NAME
pcre2grep - a grep with Perl-compatible regular expressions.
.SH SYNOPSIS
Copyright (c) 1997-2023 University of Cambridge.
-PCRE2 10.45 04 February 2025 PCRE2GREP(1)
+PCRE2 10.46 04 February 2025 PCRE2GREP(1)
-.TH PCRE2JIT 3 "22 August 2024" "PCRE2 10.45"
+.TH PCRE2JIT 3 "22 August 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PCRE2 JUST-IN-TIME COMPILER SUPPORT"
-.TH PCRE2LIMITS 3 "16 August 2023" "PCRE2 10.45"
+.TH PCRE2LIMITS 3 "16 August 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "SIZE AND OTHER LIMITATIONS"
-.TH PCRE2MATCHING 3 "30 August 2024" "PCRE2 10.45"
+.TH PCRE2MATCHING 3 "30 August 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PCRE2 MATCHING ALGORITHMS"
-.TH PCRE2PARTIAL 3 "27 November 2024" "PCRE2 10.45"
+.TH PCRE2PARTIAL 3 "27 November 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PARTIAL MATCHING IN PCRE2"
-.TH PCRE2PATTERN 3 "27 November 2024" "PCRE2 10.45"
+.TH PCRE2PATTERN 3 "27 November 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PCRE2 REGULAR EXPRESSION DETAILS"
-.TH PCRE2PERFORM 3 "06 December 2022" "PCRE2 10.45"
+.TH PCRE2PERFORM 3 "06 December 2022" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PCRE2 PERFORMANCE"
-.TH PCRE2POSIX 3 "27 November 2024" "PCRE2 10.45"
+.TH PCRE2POSIX 3 "27 November 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "SYNOPSIS"
-.TH PCRE2SAMPLE 3 "14 November 2023" "PCRE2 10.45"
+.TH PCRE2SAMPLE 3 "14 November 2023" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PCRE2 SAMPLE PROGRAM"
-.TH PCRE2SERIALIZE 3 "19 January 2024" "PCRE2 10.45"
+.TH PCRE2SERIALIZE 3 "19 January 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "SAVING AND RE-USING PRECOMPILED PCRE2 PATTERNS"
-.TH PCRE2SYNTAX 3 "27 November 2024" "PCRE2 10.45"
+.TH PCRE2SYNTAX 3 "27 November 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "PCRE2 REGULAR EXPRESSION SYNTAX SUMMARY"
-.TH PCRE2TEST 1 "26 December 2024" "PCRE2 10.45"
+.TH PCRE2TEST 1 "26 December 2024" "PCRE2 10.46"
.SH NAME
pcre2test - a program for testing Perl-compatible regular expressions.
.SH SYNOPSIS
Copyright (c) 1997-2024 University of Cambridge.
-PCRE2 10.45 26 December 2024 PCRE2TEST(1)
+PCRE2 10.46 26 December 2024 PCRE2TEST(1)
-.TH PCRE2UNICODE 3 "27 November 2024" "PCRE2 10.45"
+.TH PCRE2UNICODE 3 "27 November 2024" "PCRE2 10.46"
.SH NAME
PCRE2 - Perl-compatible regular expressions (revised API)
.SH "UNICODE AND UTF SUPPORT"
#define PACKAGE_NAME "PCRE2"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "PCRE2 10.45"
+#define PACKAGE_STRING "PCRE2 10.46"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "pcre2"
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "10.45"
+#define PACKAGE_VERSION "10.46"
/* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
parentheses (of any kind) in a pattern. This limits the amount of system
#endif
/* Version number of package */
-#define VERSION "10.45"
+#define VERSION "10.46"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* The current PCRE version information. */
#define PCRE2_MAJOR 10
-#define PCRE2_MINOR 45
+#define PCRE2_MINOR 46
#define PCRE2_PRERELEASE
-#define PCRE2_DATE 2025-02-05
+#define PCRE2_DATE 2025-08-27
/* When an application links to a PCRE DLL in Windows, the symbols that are
imported have to be identified as such. When building PCRE2, the appropriate
assert_accept_frame->offset_top * sizeof(PCRE2_SIZE));
Foffset_top = assert_accept_frame->offset_top;
Fmark = assert_accept_frame->mark;
+ mb->end_subject = Lsaved_end_subject;
+ mb->true_end_subject = mb->end_subject + Ltrue_end_extra;
+ mb->moptions = Lsaved_moptions;
break;
}
abxyz
efgxyz
+/(a)(*scs:(1)a(*ACCEPT))bbb/
+ abbb
+
+/(a)(b+)(*scs:(1)a(*ACCEPT))(\2)/
+ abbb
+
# Tests for pcre2_set_optimize()
/abc/I,optimization_none
2:
3:
+/(a)(*scs:(1)a(*ACCEPT))bbb/
+ abbb
+ 0: abbb
+ 1: a
+
+/(a)(b+)(*scs:(1)a(*ACCEPT))(\2)/
+ abbb
+ 0: abb
+ 1: a
+ 2: b
+ 3: b
+
# Tests for pcre2_set_optimize()
/abc/I,optimization_none