]> granicus.if.org Git - php/commitdiff
Fixed incorrect usage of zend_mangle_property_name() (valgrind errors)
authorDmitry Stogov <dmitry@php.net>
Wed, 8 Jun 2005 15:48:12 +0000 (15:48 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 8 Jun 2005 15:48:12 +0000 (15:48 +0000)
ext/standard/var.c

index fd92046ae611e2e054a5d692ebca8897c7c1d1bb..e4f68f37e2f09a39dbec3b254caf87cc76fd6bc7 100644 (file)
@@ -584,18 +584,18 @@ static void php_var_serialize_class(smart_str *buf, zval **struc, zval *retval_p
                                        
                                        do {
                                                zend_mangle_property_name(&priv_name, &prop_name_length, ce->name, ce->name_length, 
-                                                                       Z_STRVAL_PP(name), Z_STRLEN_PP(name) + 1, ce->type & ZEND_INTERNAL_CLASS);
-                                               if (zend_hash_find(Z_OBJPROP_PP(struc), priv_name, prop_name_length, (void *) &d) == SUCCESS) {
-                                                       php_var_serialize_string(buf, priv_name, prop_name_length-1);
+                                                                       Z_STRVAL_PP(name), Z_STRLEN_PP(name), ce->type & ZEND_INTERNAL_CLASS);
+                                               if (zend_hash_find(Z_OBJPROP_PP(struc), priv_name, prop_name_length+1, (void *) &d) == SUCCESS) {
+                                                       php_var_serialize_string(buf, priv_name, prop_name_length);
                                                        efree(priv_name);
                                                        php_var_serialize_intern(buf, d, var_hash TSRMLS_CC);
                                                        break;
                                                }
                                                efree(priv_name);
                                                zend_mangle_property_name(&prot_name, &prop_name_length,  "*", 1, 
-                                                                       Z_STRVAL_PP(name), Z_STRLEN_PP(name) + 1, ce->type & ZEND_INTERNAL_CLASS);
-                                               if (zend_hash_find(Z_OBJPROP_PP(struc), prot_name, prop_name_length, (void *) &d) == SUCCESS) {
-                                                       php_var_serialize_string(buf, prot_name, prop_name_length - 1);
+                                                                       Z_STRVAL_PP(name), Z_STRLEN_PP(name), ce->type & ZEND_INTERNAL_CLASS);
+                                               if (zend_hash_find(Z_OBJPROP_PP(struc), prot_name, prop_name_length+1, (void *) &d) == SUCCESS) {
+                                                       php_var_serialize_string(buf, prot_name, prop_name_length);
                                                        efree(prot_name);
                                                        php_var_serialize_intern(buf, d, var_hash TSRMLS_CC);
                                                        break;