Re: com php-src: Fix bug #67436: Zend/zend_compile.c

From: Date: Sun, 15 Jun 2014 23:25:59 +0000
Subject: Re: com php-src: Fix bug #67436: Zend/zend_compile.c
References: 1 2 3 4  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-78897@lists.php.net to get a copy of this message
Am 16.6.2014 um 01:21 schrieb Ferenc Kovacs <tyra3l@gmail.com>: > On Mon, Jun 16, 2014 at 12:27 AM, Bob Weinand <bobwei9@hotmail.com> wrote: > Am 16.6.2014 um 00:11 schrieb Stas Malyshev <smalyshev@sugarcrm.com>: > > Hi! > > > >> Commit: ca29063da5599f463454578abe629bc21ab33b3b > >> Author: Bob Weinand <bobwei9@hotmail.com> Sun, 15 Jun 2014 22:18:25 > >> +0200 > >> Parents: b053c4f4f6db57c7687e700de7aa4abadef2c128 > >> Branches: PHP-5.4 > >> > >> Link: > >> http://git.php.net/?p=php-src.git;a=commitdiff;h=ca29063da5599f463454578abe629bc21ab33b3b > >> > >> Log: > >> Fix bug #67436 > >> > >> Bugs: > >> https://bugs.php.net/67436 > > > > Could you please explain this fix? The bug is about autoloader, but the > > fix seems nothing to do with it. Also, adding a test case would be > > really good, bugfixes without test cases tend to regress later. > > > > -- > > Stanislav Malyshev, Software Architect > > SugarCRM: http://www.sugarcrm.com/ > > (408)454-6900 ext. 227 > > Levi wanted to provide some tests. I'm sure they're ready in a few minutes.... > > And yes, bit complicated. > > The issue is that we cannot invoke the autoloader during compile time (where early binding is > done, when class "a" was loaded before). (That's all what it had to do with > autoloaders) > And so the class "c" (in that example) is not defined. > > In this case the class "c" was (tried to be) fetched by this zval_update_constant_ex > which was invoked there by zend_get_function_declaration called by do_inheritance_check_on_method as > the function signatures didn't match (E_STRICT error). > > So, as the autoloader couldn't be invoked (compile-time...), but the class constant was > tried to be resolved, we ended up with a fatal error instead of the notice. > > Logical fix: don't try to resolve the class constant, but just write the constants name > there. (which is maybe even more informative to the user than the value) > > > Bob > > hm, > I thought this was fixed with > http://git.php.net/?p=php-src.git;a=commit;h=f0c926564c5f7de9462d9ca7bd75014b14a63f56 > > -- > Ferenc Kovács > @Tyr43l - http://tyrael.hu Nope, that was some totally unrelated bug. That bug occurred during an error handler at run-time, this bug here during compile-time. Bob

« previous php.cvs (#78897) next »