sniper Tue May 31 05:41:36 2005 EDT
Added files:
/php-src/ext/standard/tests/serialize 006.phpt
Modified files:
/php-src/ext/standard var_unserializer.re
Log:
- Fixed bug with unserialize() with "exotic" letters in class names
# Patch by: Christian Schneider <[EMAIL PROTECTED]>
http://cvs.php.net/diff.php/php-src/ext/standard/var_unserializer.re?r1=1.49&r2=1.50&ty=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.49
php-src/ext/standard/var_unserializer.re:1.50
--- php-src/ext/standard/var_unserializer.re:1.49 Wed Mar 9 19:10:21 2005
+++ php-src/ext/standard/var_unserializer.re Tue May 31 05:41:36 2005
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: var_unserializer.re,v 1.49 2005/03/10 00:10:21 helly Exp $ */
+/* $Id: var_unserializer.re,v 1.50 2005/05/31 09:41:36 sniper Exp $ */
#include "php.h"
#include "ext/standard/php_var.h"
@@ -544,7 +544,7 @@
return 0;
}
- len3 = strspn(class_name,
"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
+ len3 = strspn(class_name,
"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377");
if (len3 != len)
{
*p = YYCURSOR + len3 - len;
http://cvs.php.net/co.php/php-src/ext/standard/tests/serialize/006.phpt?r=1.1&p=1
Index: php-src/ext/standard/tests/serialize/006.phpt
+++ php-src/ext/standard/tests/serialize/006.phpt
--TEST--
serialize()/unserialize() with exotic letters
--FILE--
<?php
$������ = array('������' => '������');
class �berK��li��
{
public $��������ber = '������';
}
$foo = new �berk��li��();
var_dump(serialize($foo));
var_dump(unserialize(serialize($foo)));
var_dump(serialize($������));
var_dump(unserialize(serialize($������)));
?>
--EXPECT--
string(55) "O:11:"�berK��li��":1:{s:11:"��������ber";s:6:"������";}"
object(�berK��li��)#2 (1) {
["��������ber"]=>
string(6) "������"
}
string(32) "a:1:{s:6:"������";s:6:"������";}"
array(1) {
["������"]=>
string(6) "������"
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php