Are you sure this is a good idea? An empty string value in a POST has always caused the variable to be created and set to an empty string. With this patch you are changing that behaviour.
-Rasmus On Wed, 26 Nov 2003, Derick Rethans wrote: > 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); > } > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php