Re: Unserialize Bug

From: Date: Tue, 17 May 2005 22:07:18 +0000
Subject: Re: Unserialize Bug
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-16272@lists.php.net to get a copy of this message
    Is it documented anywhere what the allowed chars are..?
    (I couldn't find it anywhere but sources :)
    --Jani
On Tue, 17 May 2005, Timm Friebe wrote:
Hi, unserialize() cannot unserialize objects whose names contain anything except a-z, 0-9 and _, the parser allows those, though. Example ======= $ cat unserialize.php <?php class Über { } var_dump(unserialize(serialize(new Über()))); ?> Expected behaviour ================== $ php unserialize.php object(über)(0) { } Actual behaviour ================ $ php unserialize.php bool(false) PHP Notice: unserialize(): Error at offset 5 of 15 bytes in F:\Programme\cygwin\home\thekid\unserialize.php on line 4 Cause ===== http://cvs.php.net/diff.php/php-src/ext/standard/var_unserializer.re?sa=1&r1 =1.40&r2=1.41&ty=u Fix === Allow anything the parser allows, [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* - Timm
-- Donate @ http://pecl.php.net/wishlist.php/sniper

« previous php.internals (#16272) next »