]> granicus.if.org Git - php/commitdiff
- Fixed segfault in case an empty parameter was passed.
authorDerick Rethans <derick@php.net>
Tue, 25 Oct 2005 07:54:13 +0000 (07:54 +0000)
committerDerick Rethans <derick@php.net>
Tue, 25 Oct 2005 07:54:13 +0000 (07:54 +0000)
ext/filter/filter.c

index 7ce203380632ba998a8ec5144bdbf5ac0c023004..eedf49920a39a8ce85c9ca5a6fa32c6cc26ebd6e 100644 (file)
@@ -342,8 +342,10 @@ static unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int
        Z_STRLEN(new_var) = val_len;
        Z_STRVAL(new_var) = estrndup(*val, val_len + 1);
        Z_TYPE(new_var) = IS_STRING;
-       if (! (IF_G(default_filter) == FS_UNSAFE_RAW)) {
-               php_zval_filter(&new_var, IF_G(default_filter), 0, NULL, NULL/*charset*/ TSRMLS_DC);
+       if (val_len) {
+               if (! (IF_G(default_filter) == FS_UNSAFE_RAW)) {
+                       php_zval_filter(&new_var, IF_G(default_filter), 0, NULL, NULL/*charset*/ TSRMLS_DC);
+               }
        }
 
        php_register_variable_ex(orig_var, &new_var, orig_array_ptr TSRMLS_DC);