ID:               37670
 User updated by:  daniel dot oconnor at gmail dot com
 Reported By:      daniel dot oconnor at gmail dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         Class/Object related
 Operating System: windows
 PHP Version:      5.1.4
 New Comment:

Sorry, I can't try it on the CVS copy.

To amend the bug report:
<?php
class BugFeed {
    protected $cache;

    public function __construct($options) {
        if (isset($options["cache"])) {
            $this->cache = $options["cache"];
        }
    }

    public function fetch() {} 

    public static function render($type = "edit") {}
}

$stuff = array(new BugFeed(array()));

$cereal = serialize($stuff);
$stuff2 = unserialize($cereal);
$stuff3 = unserialize((string)$cereal);

var_dump($stuff2 == $stuff);

var_dump($stuff3 == $stuff);
var_dump(strlen($cereal));
print $cereal . "\n";
print (string)$cereal;
print "hello world?";


----
Produces:
bool(true)
bool(true)
int(45)
a:1:{i:0;O:7:"BugFeed":1:{s:8:"

---
That is to say: there's an unexpected EOF character output in the
serialized code.


Previous Comments:
------------------------------------------------------------------------

[2006-06-02 06:24:13] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

Works just fine for me

------------------------------------------------------------------------

[2006-06-02 03:28:23] daniel dot oconnor at gmail dot com

Description:
------------
Serialize does not appear to be serializing fully or safely.

Reproduce code:
---------------
<?php
class BugFeed {
    protected $cache;

    public function __construct($options) {
        if (isset($options["cache"])) {
            $this->cache = $options["cache"];
        }
    }

    public function fetch() {} 

    public static function render($type = "edit") {}
}

$stuff = array(new BugFeed(array()));

print serialize($stuff);

Expected result:
----------------
a serialized string of my BugFeed object, or if it was unable to
properly serialize it, an exception or warning.

Actual result:
--------------
a:1:{i:0;O:7:"BugFeed":1:{s:8:"


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=37670&edit=1

Reply via email to