diff options
author | Dmitry Stogov <dmitry@php.net> | 2005-06-08 15:48:12 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2005-06-08 15:48:12 +0000 |
commit | 415ec46927b71120f351a404caf4da64e2668ed4 (patch) | |
tree | 18022eb43ca91e048de872710870a046dce6b102 /ext/standard/var.c | |
parent | 55cdb7c043d003630d9cd79044b003cf347fdf5a (diff) | |
download | php-git-415ec46927b71120f351a404caf4da64e2668ed4.tar.gz |
Fixed incorrect usage of zend_mangle_property_name() (valgrind errors)
Diffstat (limited to 'ext/standard/var.c')
-rw-r--r-- | ext/standard/var.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/ext/standard/var.c b/ext/standard/var.c index fd92046ae6..e4f68f37e2 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -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; |