#29985 [Asn->Csd]: unserialize()/ __PHP_Incomplete_class does not report correctly class name
| From: | helly@php.net | Date: | Sun, 09 Oct 2005 13:36:12 +0000 |
| Subject: | #29985 [Asn->Csd]: unserialize()/ __PHP_Incomplete_class does not report correctly class name | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-86274@lists.php.net to get a copy of this message | ||
ID: 29985
Updated by: helly@php.net
Reported By: andrey@php.net
-Status: Assigned
+Status: Closed
Bug Type: Session related
Operating System: *
PHP Version: 5CVS-2005-10-06 (snap)
Assigned To: helly
New Comment:
Thank you for your bug report. This issue has already been fixed
in the latest released version of PHP, which you can download at
http://www.php.net/downloads.php
This is fixed in all actrive branches, 4.3.*, 5.0.*, 5.1.*, HEAD. The
'Unknown' comes from cli and specifies the causing location and has
nothing to do with the class name.
Previous Comments:
------------------------------------------------------------------------
[2005-10-09 15:27:25] helly@php.net
I claimed fixed in CVS which is HEAD which will be 6 not any 5.*
------------------------------------------------------------------------
[2005-10-06 18:27:38] sniper@php.net
Marcus, you claimed to have fixed this. Can you check it out?
------------------------------------------------------------------------
[2005-10-06 15:40:02] nohn@php.net
Yes, it is reproducible:
C:\Dokumente und
Einstellungen\nohn_s\Desktop\php5.1-win32-200510031830>php test.php
object(__PHP_Incomplete_Class)#1 (2) {
["__PHP_Incomplete_Class_Name"]=>
string(3) "bar"
["someProp"]=>
int(2)
}
Fatal error: main(): The script tried to execute a method or access a
property of an incomplete object. Please ensure that the class
definition "bar" of the object you are trying to operate on was loaded
_before_ unserialize() gets called or provide a __autoload() function
to load the class definition in C:\Dokumente und
Einstellungen\nohn_s\Desktop\php5.1-win32-200510031830\test.php on line
2
------------------------------------------------------------------------
[2005-10-06 15:15:23] sniper@php.net
Can you reproduce with 5.1-dev?
------------------------------------------------------------------------
[2005-10-06 14:56:58] nohn@php.net
Reopening this bug. Could reproduce it with PHP 5.0.5 on WinXP:
>type test.php
<?php
class foo{function someFunc(){} var$someProp=2;}$a=serialize(new
foo());$b=str_replace('foo','bar',$a);var_dum
p($c = unserialize($b));$c->someFunc();
?>
>php test.php
object(__PHP_Incomplete_Class)#1 (2) {
["__PHP_Incomplete_Class_Name"]=>
string(3) "bar"
["someProp"]=>
int(2)
}
Fatal error: main(): The script tried to execute a method or access a
property of an incomplete object. Please ensure that the class
definition "bar" of the object you are trying to operate on was loaded
_before_ unserialize() gets called or provide a __autoload() function
to load the class definition in C:\Dokumente und
Einstellungen\nohn_s\Desktop\php-5.0.5\test.php on line 2
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/29985
--
Edit this bug report at http://bugs.php.net/?id=29985&edit=1