diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 6ecfe90b781..7db680089b1 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -893,6 +893,14 @@ ZEND_API int zend_lookup_class(char *name, int name_length, zend_class_entry *** return SUCCESS; } + /* The compiler is not-reentrant. Make sure we __autoload() only during run-time + * (doesn't impact fuctionality of __autoload() + */ + if (zend_is_compiling(TSRMLS_C)) { + free_alloca(lc_name); + return FAILURE; + } + if (EG(in_autoload) == NULL) { ALLOC_HASHTABLE(EG(in_autoload)); zend_hash_init(EG(in_autoload), 0, NULL, NULL, 0); @@ -903,14 +911,6 @@ ZEND_API int zend_lookup_class(char *name, int name_length, zend_class_entry *** return FAILURE; } - /* The compiler is not-reentrant. Make sure we __autoload() only during run-time - * (doesn't impact fuctionality of __autoload() - */ - if (zend_is_compiling(TSRMLS_C)) { - free_alloca(lc_name); - return FAILURE; - } - ZVAL_STRINGL(&autoload_function, "__autoload", sizeof("__autoload")-1, 0); INIT_PZVAL(class_name_ptr);