Hi,
At first time, it was a bug in the useful xdebug, and I follow it to
the PHP code <http://bugs.xdebug.org/bug_view_page.php?bug_id=0000340>.
When exception::$message, exception::$line are not of the initial
type, it segfaults (for strings) or display non-predictible data. The
next snipset for test :
<?php
class my_file
{
public function __toString()
{
return "somebuildfilename" ;
}
}
class my_exception extends exception
{
public function __construct()
{
$this->message = new stdclass ;
$this->file = new my_file ;
$this->line = "12" ;
}
}
throw new my_exception ;
?>
I attach a patch that correct the segfault. Diff was produced with
this line : diff php5.3-200808141030{,-lupus}/Zend/zend_exceptions.c
Regards, Mickaël.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
767a768,770
>
> convert_to_string(file) ;
> convert_to_long(line) ;
778a782,785
> convert_to_string(str) ;
> convert_to_string(file) ;
> convert_to_long(line) ;
>
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php