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

Reply via email to