-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Closed
Description
Description
The following code:
<?php
class BugLoader extends php_user_filter {
public function filter($in, $out, &$consumed, $closing): int {
if (!class_exists("Test")) {
eval("class Test extends ArrayObject {}");
}
while ($bucket = stream_bucket_make_writeable($in)) {
}
}
}
stream_filter_register('bug.test', 'BugLoader');
include "php://filter/read=bug.test/resource=data://text/plain,<?php\n";
Resulted in this output:
/php-src/ext/opcache/jit/ir/ir_ra.c:1139: void ir_add_osr_entry_loads(ir_ctx *, ir_block *, uint32_t, ir_list *, uint32_t): Assertion `0' failed.
Aborted (core dumped)
To reproduce:
-d "zend_extension=/php-src/modules/opcache.so" -d "allow_url_include=1" -d "opcache.enable_cli=1" -d "opcache.jit=1213"
Related: #15903
PHP Version
nightly
Operating System
ubuntu 22.04