Skip to content

preg_replace_callback_array segmentation fault #10968

Closed
@voidptr127

Description

@voidptr127

Description

The following code:

<?php
$a = [];
$a = preg_replace_callback_array($a,$a,$b,$b)
?>

Resulted in this output:

Warning: Undefined variable $b in Standard input code on line 3

Deprecated: preg_replace_callback_array(): Passing null to parameter #3 ($limit) of type int is deprecated in Standard input code on line 3
Segmentation fault (core dumped)

But I expected something like this output instead (I am not sure about the null values. At the very least I would not expect a segmentation fault.):

[rocky@fuzz php-src]$ cat <<'EOF' | ~/php-src/sapi/cli/php
<?php
$a = []; 
$a = preg_replace_callback_array($a,$a,null,null)
?>
EOF

Fatal error: Uncaught Error: preg_replace_callback_array(): Argument #4 ($count) cannot be passed by reference in Standard input code:3
Stack trace:
#0 {main}
  thrown in Standard input code on line 3

How to compile:

./buildconf --force
./configure --disable-all --enable-debug-assertions --enable-option-checking=fatal --without-pcre-jit --disable-cgi --with-pic
make -j$(nproc)

PHP Version

php-8.2.4RC1

Operating System

Rocky Linux release 9.1 (Blue Onyx)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions