Commit 27e12b50f4d for php.net
commit 27e12b50f4d430c8f98bc58f534e438bfa2ecd62
Author: David Carlier <devnexen@gmail.com>
Date: Thu Feb 26 20:24:24 2026 +0000
ext/pcre: drop negative-length match tests
Newer PCRE2 rejects \K in lookarounds at compile time, so the
negative-length match code path can no longer be triggered from
userland PHP. The PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK flag that would
re-enable it is only settable via the C compile context API.
diff --git a/ext/pcre/tests/preg_match_all_negative_length_match.phpt b/ext/pcre/tests/preg_match_all_negative_length_match.phpt
deleted file mode 100644
index b18007cd325..00000000000
--- a/ext/pcre/tests/preg_match_all_negative_length_match.phpt
+++ /dev/null
@@ -1,10 +0,0 @@
---TEST--
-preg_match_all() resource cleanup when \K in lookahead causes negative-length match
---FILE--
-<?php
-$result = preg_match_all('/(?=ab\K)a/', 'ab', $matches);
-var_dump($result);
-?>
---EXPECTF--
-Warning: preg_match_all(): Compilation failed: \K is not allowed in lookarounds (but see PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) at offset %d in %s
-bool(false)
diff --git a/ext/pcre/tests/preg_match_negative_length_match.phpt b/ext/pcre/tests/preg_match_negative_length_match.phpt
deleted file mode 100644
index 221ea4fb9e5..00000000000
--- a/ext/pcre/tests/preg_match_negative_length_match.phpt
+++ /dev/null
@@ -1,10 +0,0 @@
---TEST--
-preg_match() resource cleanup when \K in lookahead causes negative-length match
---FILE--
-<?php
-$result = preg_match('/(?=ab\K)a/', 'ab', $matches);
-var_dump($result);
-?>
---EXPECTF--
-Warning: preg_match(): Compilation failed: \K is not allowed in lookarounds (but see PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) at offset %d in %s
-bool(false)