diff options
author | Felipe Pena <felipe@php.net> | 2009-05-10 15:13:05 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2009-05-10 15:13:05 +0000 |
commit | 680bc45ba5c31988e4a6be2a9f4d779baea8c37e (patch) | |
tree | 7bc2dae94d1db9222766827e96e77dff121599ab /ext/xsl/xsltprocessor.c | |
parent | 64e4c690902d279442d17213d48fab63dcf37438 (diff) | |
download | php-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.c | 4 |
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); } } } |