|  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: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
44 - 15 = ?
Subscribe to this entry?

 [2003-11-07 16:04 UTC] lphuberdeau at phpquebec dot org
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;


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-11-08 09:06 UTC]
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
In case this was a documentation problem, the fix will show up soon at

In case this was a website problem, the change will show
up on the site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Sep 19 03:03:37 2021 UTC