php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #26166 __toString() crash when no values returned
Submitted: 2003-11-07 16:04 UTC Modified: 2003-11-08 09:06 UTC
From: lphuberdeau at phpquebec dot org Assigned:
Status: Closed Package: Reproducible crash
PHP Version: 5CVS-2003-11-07 (dev) OS: Linux
Private report: No CVE-ID:
 [2003-11-07 16:04 UTC] lphuberdeau at phpquebec dot org
Description:
------------
It's actually the same bug as before with __get() not returning any value. __toString() simply crashed when you throw an exception inside.

There is an other problem with __toString(). If you call an other __toString() method from an other object to return it, the value is not considered as a string.

The version I tested on is actually the one from yesterday.

Reproduce code:
---------------
class Foo
{
    function __toString()
    {
        return "Hello World!";
    }
}

class Bar
{
    private $obj;

    function __construct()
    {
        $this->obj = new Foo();
    }

    function __toString()
    {
        return $this->obj->__toString();
    }
}

$o = new Bar();
echo $o;


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-11-08 09:06 UTC] helly@php.net
This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Sat Apr 19 04:01:55 2014 UTC