summaryrefslogtreecommitdiff
path: root/ext/xsl/xsltprocessor.c
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-05-10 15:13:05 +0000
committerFelipe Pena <felipe@php.net>2009-05-10 15:13:05 +0000
commit680bc45ba5c31988e4a6be2a9f4d779baea8c37e (patch)
tree7bc2dae94d1db9222766827e96e77dff121599ab /ext/xsl/xsltprocessor.c
parent64e4c690902d279442d17213d48fab63dcf37438 (diff)
downloadphp-git-680bc45ba5c31988e4a6be2a9f4d779baea8c37e.tar.gz
- MFH: Fixed bug #48221 (memory leak when passing invalid xslt parameter)
Diffstat (limited to 'ext/xsl/xsltprocessor.c')
-rw-r--r--ext/xsl/xsltprocessor.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/xsl/xsltprocessor.c b/ext/xsl/xsltprocessor.c
index 7f26ce88fb..fe23f2a446 100644
--- a/ext/xsl/xsltprocessor.c
+++ b/ext/xsl/xsltprocessor.c
@@ -153,11 +153,13 @@ static char **php_xsl_xslt_make_params(HashTable *parht, int xpath_params TSRMLS
if (!xpath_params) {
xpath_expr = php_xsl_xslt_string_to_xpathexpr(Z_STRVAL_PP(value) TSRMLS_CC);
} else {
- xpath_expr = estrndup(Z_STRVAL_PP(value), strlen(Z_STRVAL_PP(value)));
+ xpath_expr = estrndup(Z_STRVAL_PP(value), Z_STRLEN_PP(value));
}
if (xpath_expr) {
params[i++] = string_key;
params[i++] = xpath_expr;
+ } else {
+ efree(string_key);
}
}
}