mirror of
https://github.com/php/php-src.git
synced 2026-04-03 22:22:18 +02:00
- Fixed bug #60099 (__halt_compiler() works in braced namespaces)
This commit is contained in:
10
Zend/tests/bug60099.phpt
Normal file
10
Zend/tests/bug60099.phpt
Normal file
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
Bug #60099 (__halt_compiler() works in braced namespaces)
|
||||
--FILE--
|
||||
<?php
|
||||
namespace foo {
|
||||
__halt_compiler();
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: __HALT_COMPILER() can only be used from the outermost scope in %s on line %d
|
||||
@@ -5311,6 +5311,11 @@ void zend_do_halt_compiler_register(TSRMLS_D) /* {{{ */
|
||||
char *name, *cfilename;
|
||||
char haltoff[] = "__COMPILER_HALT_OFFSET__";
|
||||
int len, clen;
|
||||
|
||||
if (CG(has_bracketed_namespaces) && CG(in_namespace)) {
|
||||
zend_error(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used from the outermost scope");
|
||||
}
|
||||
|
||||
cfilename = zend_get_compiled_filename(TSRMLS_C);
|
||||
clen = strlen(cfilename);
|
||||
zend_mangle_property_name(&name, &len, haltoff, sizeof(haltoff) - 1, cfilename, clen, 0);
|
||||
|
||||
Reference in New Issue
Block a user