]> granicus.if.org Git - php/commitdiff
Added missing sanity check
authorMoriyoshi Koizumi <moriyoshi@php.net>
Wed, 16 Apr 2003 14:55:25 +0000 (14:55 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Wed, 16 Apr 2003 14:55:25 +0000 (14:55 +0000)
ext/standard/filters.c

index edb0bc15f053535e86d6f354cacc39132d2f1f89..24aee7cfc3b34080188ee9dc02448909b1d14f04 100644 (file)
@@ -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) {