From 6dd17c380dc93d5f7efb3b39cef8e61fc77b82e3 Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi Date: Wed, 16 Apr 2003 14:55:25 +0000 Subject: [PATCH] Added missing sanity check --- ext/standard/filters.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ext/standard/filters.c b/ext/standard/filters.c index edb0bc15f0..24aee7cfc3 100644 --- a/ext/standard/filters.c +++ b/ext/standard/filters.c @@ -1661,6 +1661,11 @@ static php_stream_filter *strfilter_convert_create(const char *filtername, zval char *dot; int conv_mode; + if (filterparams != NULL && Z_TYPE_P(filterparams) != IS_ARRAY) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "stream filter (%s): invalid filter parameter", filtername); + return NULL; + } + if ((dot = strchr(filtername, '.')) == NULL) { return NULL; } @@ -1668,10 +1673,6 @@ static php_stream_filter *strfilter_convert_create(const char *filtername, zval inst = pemalloc(sizeof(php_convert_filter), persistent); - if (Z_TYPE_P(filterparams) != IS_ARRAY) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "stream filter (%s): invalid filter parameter", filtername); - } - if (strcasecmp(dot, "base64-encode") == 0) { conv_mode = PHP_CONV_BASE64_ENCODE; } else if (strcasecmp(dot, "base64-decode") == 0) { -- 2.40.0