Skip to content

Commit 78fba9c

Browse files
committed
Fix GH-12628: The gh11374 test fails on Alpinelinux
Closes GH-12636.
1 parent 10b2b4a commit 78fba9c

File tree

5 files changed

+28
-3
lines changed

5 files changed

+28
-3
lines changed

NEWS

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33
?? ??? ????, PHP 8.1.27
44

5+
- PCRE:
6+
. Fixed bug GH-12628 (The gh11374 test fails on Alpinelinux). (nielsdos)
7+
58
- Standard:
69
. Fix memory leak in syslog device handling. (danog)
710

ext/pcre/tests/gh11374.phpt

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
--TEST--
22
GH-11374 (PCRE regular expression without JIT enabled gives different result)
3+
--EXTENSIONS--
4+
zend_test
5+
--SKIPIF--
6+
<?php
7+
if (!zend_test_is_pcre_bundled() && (PCRE_VERSION_MAJOR == 10 && PCRE_VERSION_MINOR <= 42)) die("skip old pcre version");
8+
?>
39
--FILE--
410
<?php
511

ext/zend_test/test.c

+10
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,16 @@ static ZEND_FUNCTION(zend_test_crash)
364364
php_printf("%s", invalid);
365365
}
366366

367+
static ZEND_FUNCTION(zend_test_is_pcre_bundled)
368+
{
369+
ZEND_PARSE_PARAMETERS_NONE();
370+
#if HAVE_BUNDLED_PCRE
371+
RETURN_TRUE;
372+
#else
373+
RETURN_FALSE;
374+
#endif
375+
}
376+
367377
static zend_object *zend_test_class_new(zend_class_entry *class_type)
368378
{
369379
zend_object *obj = zend_objects_new(class_type);

ext/zend_test/test.stub.php

+2
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ function zend_test_crash(?string $message = null): void {}
125125
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
126126
function zend_test_override_libxml_global_state(): void {}
127127
#endif
128+
129+
function zend_test_is_pcre_bundled(): bool {}
128130
}
129131

130132
namespace ZendTestNS {

ext/zend_test/test_arginfo.h

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: 7effabe18579113dbfc4c61231d93c8c262d959a */
2+
* Stub hash: ae75eda2b4b40224858d680c3fcf3d7cd2056bb6 */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0)
55
ZEND_END_ARG_INFO()
@@ -91,9 +91,11 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_override_libxml_global
9191
ZEND_END_ARG_INFO()
9292
#endif
9393

94-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ZendTestNS2_ZendSubNS_namespaced_func, 0, 0, _IS_BOOL, 0)
94+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_is_pcre_bundled, 0, 0, _IS_BOOL, 0)
9595
ZEND_END_ARG_INFO()
9696

97+
#define arginfo_ZendTestNS2_ZendSubNS_namespaced_func arginfo_zend_test_is_pcre_bundled
98+
9799
#define arginfo_class__ZendTestClass_is_object arginfo_zend_get_map_ptr_last
98100

99101
ZEND_BEGIN_ARG_INFO_EX(arginfo_class__ZendTestClass___toString, 0, 0, 0)
@@ -112,7 +114,7 @@ ZEND_END_ARG_INFO()
112114
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestChildClass_returnsThrowable, 0, 0, Exception, 0)
113115
ZEND_END_ARG_INFO()
114116

115-
#define arginfo_class__ZendTestTrait_testMethod arginfo_ZendTestNS2_ZendSubNS_namespaced_func
117+
#define arginfo_class__ZendTestTrait_testMethod arginfo_zend_test_is_pcre_bundled
116118

117119
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestParameterAttribute___construct, 0, 0, 1)
118120
ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0)
@@ -156,6 +158,7 @@ static ZEND_FUNCTION(zend_test_crash);
156158
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
157159
static ZEND_FUNCTION(zend_test_override_libxml_global_state);
158160
#endif
161+
static ZEND_FUNCTION(zend_test_is_pcre_bundled);
159162
static ZEND_FUNCTION(namespaced_func);
160163
static ZEND_METHOD(_ZendTestClass, is_object);
161164
static ZEND_METHOD(_ZendTestClass, __toString);
@@ -199,6 +202,7 @@ static const zend_function_entry ext_functions[] = {
199202
#if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
200203
ZEND_FE(zend_test_override_libxml_global_state, arginfo_zend_test_override_libxml_global_state)
201204
#endif
205+
ZEND_FE(zend_test_is_pcre_bundled, arginfo_zend_test_is_pcre_bundled)
202206
ZEND_NS_FE("ZendTestNS2\\ZendSubNS", namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func)
203207
ZEND_FE_END
204208
};

0 commit comments

Comments
 (0)