helly Tue Feb 15 03:08:57 2005 EDT
Modified files: (Branch: PHP_4_3)
/php-src/ext/standard var_unserializer.re
Log:
- MFH
http://cvs.php.net/diff.php/php-src/ext/standard/var_unserializer.re?r1=1.11.4.13&r2=1.11.4.14&ty=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.11.4.13
php-src/ext/standard/var_unserializer.re:1.11.4.14
--- php-src/ext/standard/var_unserializer.re:1.11.4.13 Sun Jan 30 11:39:55 2005
+++ php-src/ext/standard/var_unserializer.re Tue Feb 15 03:08:55 2005
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: var_unserializer.re,v 1.11.4.13 2005/01/30 16:39:55 iliaa Exp $ */
+/* $Id: var_unserializer.re,v 1.11.4.14 2005/02/15 08:08:55 helly Exp $ */
#include "php.h"
#include "ext/standard/php_var.h"
@@ -485,7 +485,7 @@
}
"O:" uiv ":" ["] {
- size_t len, len2, maxlen;
+ size_t len, len2, len3, maxlen;
int elements;
char *class_name;
zend_class_entry *ce;
@@ -520,6 +520,14 @@
class_name = str_tolower_copy((char *)emalloc(len+1), class_name, len);
class_name[len] = '\0';
+ len3 = strspn(class_name, "0123456789_abcdefghijklmnopqrstuvwxyz");
+ if (len3 != len)
+ {
+ *p = YYCURSOR + len3 - len;
+ efree(class_name);
+ return 0;
+ }
+
if (zend_hash_find(CG(class_table), class_name, len + 1, (void **) &ce)
!= SUCCESS) {
if ((PG(unserialize_callback_func) == NULL) ||
(PG(unserialize_callback_func)[0] == '\0')) {
incomplete_class = 1;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php