dom extension corrupting the Exception class

php.internals

Kamesh Jayachandran

22 years ago
Hi All, I found the following behaviour. I think it is a bug please clarify. In php-5.0.0 1)Exception class is registered from zend_exceptions.c 2)After this If I see the common.fn_flags of constructor member of Exception class entry it is 0x2100(Public Constructor). Till this point is fine. 3)When dom extension is getting started It registers the DOMException class to the CG(class_table) in that process it inherits from the Exception class_entry and gets a constructor member pointer of Exception class_entry. 4)dom extension startup routine updates this constructor pointer's class_entry->common.fn_flags|=ZEND_ACC_PROTECTED and hence to 0x2300. 5)This causes me not to get the access specifier of __construct constructor of Exception class if I access it from as "Public". Is this a accepted behaviour? I see even though ReflectionException and SQLiteException extends Exception they have their __construct method set to some function pointer or else to NULL not just left at all. This is no the case with DOMException. With regards Kamesh Jayachandran

Wez Furlong

22 years ago
Already fixed in HEAD. On Tue, 03 Aug 2004 03:36:06 -0700, Kamesh Jayachandran <kameshj@fastmail.fm> wrote:

Kamesh Jayachandran

22 years ago
Hi Wez, Will the fix be available in 5.0.1? How to browse the cvs tree of 5.0.1 from the web? With regards Kamesh Jayachandran On Tue, 3 Aug 2004 11:52:48 +0100, "Wez Furlong" <kingwez@gmail.com> said:

Derick Rethans

22 years ago
On Tue, 3 Aug 2004, Kamesh Jayachandran wrote:
> Hi Wez, > Will the fix be available in 5.0.1?
HEAD is for 5.1.0-dev, and not 5.0.x. Though I don't know whether Wez merged it to PHP_5_0 or not.
> How to browse the cvs tree of 5.0.1 from the web?
http://cvs.php.net/php-src/ (trailing / important) regards, Derick

Wez Furlong

22 years ago
Marcus made the fixes, and afair, they were merged to PHP_5_0 --Wez. On Tue, 3 Aug 2004 13:40:57 +0200 (CEST), Derick Rethans <derick@php.net> wrote:

Edin Kadribasic

22 years ago
On Tuesday 03 August 2004 13:40, Derick Rethans wrote:
> > How to browse the cvs tree of 5.0.1 from the web? > > http://cvs.php.net/php-src/ > > (trailing / important)
Or you can use super-secret, ugly, but very functional: http://viewcvs.php.net/viewcvs.cgi/php-src/?only_with_tag=PHP_5_0 Edin