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

Reply via email to