diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-04-16 14:55:25 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-04-16 14:55:25 +0000 |
commit | 6dd17c380dc93d5f7efb3b39cef8e61fc77b82e3 (patch) | |
tree | 73afa7be0d1c51c7f05f1834285d5d8b651ea42f | |
parent | 49b43ad115332a0a4139b112959f0564f80964b7 (diff) | |
download | php-git-6dd17c380dc93d5f7efb3b39cef8e61fc77b82e3.tar.gz |
Added missing sanity check
-rw-r--r-- | ext/standard/filters.c | 9 |
1 files 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) { |