helly Thu Sep 2 14:28:47 2004 EDT Modified files: /php-src/ext/standard var.c Log: Fix memleak in serialize http://cvs.php.net/diff.php/php-src/ext/standard/var.c?r1=1.193&r2=1.194&ty=u Index: php-src/ext/standard/var.c diff -u php-src/ext/standard/var.c:1.193 php-src/ext/standard/var.c:1.194 --- php-src/ext/standard/var.c:1.193 Sun Aug 29 13:16:20 2004 +++ php-src/ext/standard/var.c Thu Sep 2 14:28:47 2004 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: var.c,v 1.193 2004/08/29 17:16:20 iliaa Exp $ */ +/* $Id: var.c,v 1.194 2004/09/02 18:28:47 helly Exp $ */ /* {{{ includes @@ -598,6 +598,7 @@ 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) { @@ -606,12 +607,10 @@ php_var_serialize_intern(buf, d, var_hash TSRMLS_CC); break; } + efree(prot_name); php_error_docref(NULL TSRMLS_CC, E_NOTICE, "\"%s\" returned as member variable from __sleep() but does not exist", Z_STRVAL_PP(name)); php_var_serialize_string(buf, Z_STRVAL_PP(name), Z_STRLEN_PP(name)); php_var_serialize_intern(buf, &nvalp, var_hash TSRMLS_CC); - - efree(prot_name); - efree(priv_name); } while (0); } else { php_var_serialize_string(buf, Z_STRVAL_PP(name), Z_STRLEN_PP(name));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php