mirror of
https://github.com/php/php-src.git
synced 2024-12-01 05:43:38 +08:00
Added test for bug #74596
This commit is contained in:
parent
8a1713e39c
commit
e347b2ded6
55
ext/opcache/tests/bug74596.phpt
Normal file
55
ext/opcache/tests/bug74596.phpt
Normal file
@ -0,0 +1,55 @@
|
||||
--TEST--
|
||||
Bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
|
||||
--INI--
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=1
|
||||
opcache.file_update_protection=0
|
||||
opcache.validate_timestamps=0
|
||||
opcache.file_cache_only=0
|
||||
opcache.revalidate_path=1
|
||||
--SKIPIF--
|
||||
<?php require_once('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
file_put_contents(__DIR__ . "/bug74596_1.php", <<<CODE
|
||||
<?php
|
||||
class A {
|
||||
public function __construct() {
|
||||
\$a = true;
|
||||
if (\$a) {
|
||||
echo 1 + 2;
|
||||
} else {
|
||||
echo 2 + 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
CODE
|
||||
);
|
||||
|
||||
file_put_contents(__DIR__ . "/bug74596_2.php", "ok\n");
|
||||
|
||||
class ufilter extends php_user_filter
|
||||
{
|
||||
function filter($in, $out, &$consumed, $closing)
|
||||
{
|
||||
include_once __DIR__ . "/bug74596_1.php";
|
||||
while ($bucket = stream_bucket_make_writeable($in)) {
|
||||
stream_bucket_append($out, $bucket);
|
||||
}
|
||||
return PSFS_PASS_ON;
|
||||
}
|
||||
}
|
||||
|
||||
stream_filter_register("ufilter", "ufilter");
|
||||
|
||||
include "php://filter/read=ufilter/resource=" . __DIR__ . "/bug74596_2.php";
|
||||
?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
unlink(__DIR__ . "/bug74596_1.php");
|
||||
unlink(__DIR__ . "/bug74596_2.php");
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
Loading…
Reference in New Issue
Block a user