1
0
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:
Felipe Pena
2011-11-16 17:41:40 +00:00
parent 595ac67a52
commit caa863dc42
2 changed files with 15 additions and 0 deletions

10
Zend/tests/bug60099.phpt Normal file
View 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

View File

@@ -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);