summaryrefslogtreecommitdiff
path: root/ext/xsl/xsltprocessor.c
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2016-04-03 19:56:15 +0100
committerJakub Zelenka <bukka@php.net>2016-04-03 19:56:15 +0100
commit6ac8bc4ecb1fdf112eefdd16d2c4f971e7ac232a (patch)
tree3612c90af5d656357045e107ccac556863e929a3 /ext/xsl/xsltprocessor.c
parentdf85331220ac60391d5f8d82c42a6c699f47fca1 (diff)
parent80015ba741fc857074050086db6c7b2a4716d6d5 (diff)
downloadphp-git-6ac8bc4ecb1fdf112eefdd16d2c4f971e7ac232a.tar.gz
Merge branch 'openssl_error_store' of github.com:bukka/php-src into openssl_error_store
Diffstat (limited to 'ext/xsl/xsltprocessor.c')
-rw-r--r--ext/xsl/xsltprocessor.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/xsl/xsltprocessor.c b/ext/xsl/xsltprocessor.c
index be46d38de1..600c7cddb0 100644
--- a/ext/xsl/xsltprocessor.c
+++ b/ext/xsl/xsltprocessor.c
@@ -231,6 +231,10 @@ static void xsl_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int t
/* Reverse order to pop values off ctxt stack */
for (i = nargs - 2; i >= 0; i--) {
obj = valuePop(ctxt);
+ if (obj == NULL) {
+ ZVAL_NULL(&args[i]);
+ continue;
+ }
switch (obj->type) {
case XPATH_STRING:
ZVAL_STRING(&args[i], (char *)obj->stringval);
@@ -300,7 +304,7 @@ static void xsl_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int t
obj = valuePop(ctxt);
- if (obj->stringval == NULL) {
+ if (obj == NULL || obj->stringval == NULL) {
php_error_docref(NULL, E_WARNING, "Handler name must be a string");
xmlXPathFreeObject(obj);
valuePush(ctxt, xmlXPathNewString((const xmlChar *) ""));