diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2019-09-16 16:01:49 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2019-09-16 16:01:49 +0200 |
commit | 9b9fac78b033e8b26d24cf35d69b603ca84a61d2 (patch) | |
tree | fd0141ce3a8cd28e4b58c85080d3243ab7632c9b | |
parent | e6b1f9d56da62acce9010193ef34f2b87635f5d6 (diff) | |
parent | 20f73d3d8f2f2664288d1e70930f047605bfb44f (diff) | |
download | php-git-9b9fac78b033e8b26d24cf35d69b603ca84a61d2.tar.gz |
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78429: opcache_compile_file(__FILE__); segfaults
-rw-r--r-- | ext/opcache/tests/bug78429.phpt | 13 | ||||
-rw-r--r-- | ext/opcache/zend_accelerator_module.c | 5 |
2 files changed, 18 insertions, 0 deletions
diff --git a/ext/opcache/tests/bug78429.phpt b/ext/opcache/tests/bug78429.phpt new file mode 100644 index 0000000000..d2d1e43cdc --- /dev/null +++ b/ext/opcache/tests/bug78429.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #78429 (opcache_compile_file(__FILE__); segfaults) +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--INI-- +opcache.enable_cli=0 +--FILE-- +<?php +var_dump(opcache_compile_file(__FILE__)); +?> +--EXPECTF-- +Notice: Zend OPcache has not been properly started, can't compile file in %s on line %d +bool(false) diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c index 643f1d6cd0..9faec50386 100644 --- a/ext/opcache/zend_accelerator_module.c +++ b/ext/opcache/zend_accelerator_module.c @@ -867,6 +867,11 @@ static ZEND_FUNCTION(opcache_compile_file) return; } + if (!accel_startup_ok) { + zend_error(E_NOTICE, ACCELERATOR_PRODUCT_NAME " has not been properly started, can't compile file"); + RETURN_FALSE; + } + zend_stream_init_filename(&handle, script_name); orig_execute_data = EG(current_execute_data); |