cvs: php-src /main php_variables.c rfc1867.c

From: Date: Wed, 26 Nov 2003 09:53:23 +0000
Subject: cvs: php-src /main php_variables.c rfc1867.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-24668@lists.php.net to get a copy of this message
derick Wed Nov 26 04:53:23 2003 EDT Modified files: /php-src/main php_variables.c rfc1867.c Log: - Prevent registration of the variable when a zero-length is returned from the sapi_input_filter. Index: php-src/main/php_variables.c diff -u php-src/main/php_variables.c:1.71 php-src/main/php_variables.c:1.72 --- php-src/main/php_variables.c:1.71 Mon Oct 13 23:49:13 2003 +++ php-src/main/php_variables.c Wed Nov 26 04:53:22 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_variables.c,v 1.71 2003/10/14 03:49:13 iliaa Exp $ */ +/* $Id: php_variables.c,v 1.72 2003/11/26 09:53:22 derick Exp $ */ #include <stdio.h> #include "php.h" @@ -213,7 +213,9 @@ php_url_decode(var, strlen(var)); val_len = php_url_decode(val, strlen(val)); val_len = sapi_module.input_filter(PARSE_POST, var, &val, val_len TSRMLS_CC); - php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC); + if (val_len) { + php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC); + } } var = php_strtok_r(NULL, "&", &strtok_buf); } @@ -308,7 +310,9 @@ php_url_decode(var, strlen(var)); val_len = php_url_decode(val, strlen(val)); val_len = sapi_module.input_filter(arg, var, &val, val_len TSRMLS_CC); - php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC); + if (val_len) { + php_register_variable_safe(var, val, val_len, array_ptr TSRMLS_CC); + } } else { php_url_decode(var, strlen(var)); php_register_variable_safe(var, "", 0, array_ptr TSRMLS_CC); Index: php-src/main/rfc1867.c diff -u php-src/main/rfc1867.c:1.146 php-src/main/rfc1867.c:1.147 --- php-src/main/rfc1867.c:1.146 Wed Nov 12 17:34:58 2003 +++ php-src/main/rfc1867.c Wed Nov 26 04:53:22 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: rfc1867.c,v 1.146 2003/11/12 22:34:58 sesser Exp $ */ +/* $Id: rfc1867.c,v 1.147 2003/11/26 09:53:22 derick Exp $ */ /* * This product includes software developed by the Apache Group @@ -881,22 +881,25 @@ if (!filename && param) { char *value = multipart_buffer_read_body(mbuff TSRMLS_CC); + int val_len; if (!value) { value = estrdup(""); } - sapi_module.input_filter(PARSE_POST, param, &value, strlen(value) TSRMLS_CC); + val_len = sapi_module.input_filter(PARSE_POST, param, &value, strlen(value) TSRMLS_CC); + if (val_len) { #if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING) - if (php_mb_encoding_translation(TSRMLS_C)) { - php_mb_gpc_stack_variable(param, value, &val_list, &len_list, - &num_vars, &num_vars_max TSRMLS_CC); - } else { - safe_php_register_variable(param, value, array_ptr, 0 TSRMLS_CC); - } + if (php_mb_encoding_translation(TSRMLS_C)) { + php_mb_gpc_stack_variable(param, value, &val_list, &len_list, + &num_vars, &num_vars_max TSRMLS_CC); + } else { + safe_php_register_variable(param, value, array_ptr, 0 TSRMLS_CC); + } #else - safe_php_register_variable(param, value, array_ptr, 0 TSRMLS_CC); + safe_php_register_variable(param, value, array_ptr, 0 TSRMLS_CC); #endif + } if (!strcasecmp(param, "MAX_FILE_SIZE")) { max_file_size = atol(value); }

« previous php.cvs (#24668) next »