chregu Mon Oct 27 07:16:35 2003 EDT Modified files: /php-src/ext/xsl xsltprocessor.c Log: fix for test Nr 3 bug (not freeing all params) Index: php-src/ext/xsl/xsltprocessor.c diff -u php-src/ext/xsl/xsltprocessor.c:1.14 php-src/ext/xsl/xsltprocessor.c:1.15 --- php-src/ext/xsl/xsltprocessor.c:1.14 Sun Oct 26 10:57:31 2003 +++ php-src/ext/xsl/xsltprocessor.c Mon Oct 27 07:16:35 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xsltprocessor.c,v 1.14 2003/10/26 15:57:31 rrichards Exp $ */ +/* $Id: xsltprocessor.c,v 1.15 2003/10/27 12:16:35 chregu Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -103,7 +103,7 @@ if (!xpath_params) { xpath_expr = php_xsl_xslt_string_to_xpathexpr(Z_STRVAL_PP(value) TSRMLS_CC); } else { - xpath_expr = Z_STRVAL_PP(value); + xpath_expr = estrndup(Z_STRVAL_PP(value), strlen(Z_STRVAL_PP(value))); } if (xpath_expr) { params[i++] = string_key; @@ -207,6 +207,10 @@ } if (params) { + clone = 0; + while(params[clone]) { + efree(params[clone++]); + } efree(params); } @@ -258,6 +262,10 @@ } if (params) { + clone = 0; + while(params[clone]) { + efree(params[clone++]); + } efree(params); } @@ -311,6 +319,10 @@ } if (params) { + clone = 0; + while(params[clone]) { + efree(params[clone++]); + } efree(params); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php