Diff for /embedaddon/php/ext/filter/filter.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 23:47:56 version 1.1.1.2, 2012/05/29 12:34:39
Line 276  PHP_MINIT_FUNCTION(filter) Line 276  PHP_MINIT_FUNCTION(filter)
         REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_RES_RANGE", FILTER_FLAG_NO_RES_RANGE, CONST_CS | CONST_PERSISTENT);          REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_RES_RANGE", FILTER_FLAG_NO_RES_RANGE, CONST_CS | CONST_PERSISTENT);
         REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_PRIV_RANGE", FILTER_FLAG_NO_PRIV_RANGE, CONST_CS | CONST_PERSISTENT);          REGISTER_LONG_CONSTANT("FILTER_FLAG_NO_PRIV_RANGE", FILTER_FLAG_NO_PRIV_RANGE, CONST_CS | CONST_PERSISTENT);
   
        sapi_register_input_filter(php_sapi_filter, php_sapi_filter_init);        sapi_register_input_filter(php_sapi_filter, php_sapi_filter_init TSRMLS_CC);
   
         return SUCCESS;          return SUCCESS;
 }  }
Line 318  PHP_MINFO_FUNCTION(filter) Line 318  PHP_MINFO_FUNCTION(filter)
 {  {
         php_info_print_table_start();          php_info_print_table_start();
         php_info_print_table_row( 2, "Input Validation and Filtering", "enabled" );          php_info_print_table_row( 2, "Input Validation and Filtering", "enabled" );
        php_info_print_table_row( 2, "Revision", "$Revision$");        php_info_print_table_row( 2, "Revision", "$Id$");
         php_info_print_table_end();          php_info_print_table_end();
   
         DISPLAY_INI_ENTRIES();          DISPLAY_INI_ENTRIES();
Line 406  static unsigned int php_sapi_filter(int arg, char *var Line 406  static unsigned int php_sapi_filter(int arg, char *var
 {  {
         zval  new_var, raw_var;          zval  new_var, raw_var;
         zval *array_ptr = NULL, *orig_array_ptr = NULL;          zval *array_ptr = NULL, *orig_array_ptr = NULL;
         char *orig_var = NULL;  
         int retval = 0;          int retval = 0;
   
         assert(*val != NULL);          assert(*val != NULL);
Line 447  static unsigned int php_sapi_filter(int arg, char *var Line 446  static unsigned int php_sapi_filter(int arg, char *var
         }          }
   
         if (array_ptr) {          if (array_ptr) {
                 /* Make a copy of the variable name, as php_register_variable_ex seems to  
                  * modify it */  
                 orig_var = estrdup(var);  
   
                 /* Store the RAW variable internally */                  /* Store the RAW variable internally */
                 /* FIXME: Should not use php_register_variable_ex as that also registers  
                  * globals when register_globals is turned on */  
                 Z_STRLEN(raw_var) = val_len;                  Z_STRLEN(raw_var) = val_len;
                 Z_STRVAL(raw_var) = estrndup(*val, val_len);                  Z_STRVAL(raw_var) = estrndup(*val, val_len);
                 Z_TYPE(raw_var) = IS_STRING;                  Z_TYPE(raw_var) = IS_STRING;
Line 463  static unsigned int php_sapi_filter(int arg, char *var Line 456  static unsigned int php_sapi_filter(int arg, char *var
   
         if (val_len) {          if (val_len) {
                 /* Register mangled variable */                  /* Register mangled variable */
                 /* FIXME: Should not use php_register_variable_ex as that also registers  
                  * globals when register_globals is turned on */  
                 Z_STRLEN(new_var) = val_len;                  Z_STRLEN(new_var) = val_len;
                 Z_TYPE(new_var) = IS_STRING;                  Z_TYPE(new_var) = IS_STRING;
   
Line 473  static unsigned int php_sapi_filter(int arg, char *var Line 464  static unsigned int php_sapi_filter(int arg, char *var
                         Z_STRVAL(new_var) = estrndup(*val, val_len);                          Z_STRVAL(new_var) = estrndup(*val, val_len);
                         INIT_PZVAL(tmp_new_var);                          INIT_PZVAL(tmp_new_var);
                         php_zval_filter(&tmp_new_var, IF_G(default_filter), IF_G(default_filter_flags), NULL, NULL/*charset*/, 0 TSRMLS_CC);                          php_zval_filter(&tmp_new_var, IF_G(default_filter), IF_G(default_filter_flags), NULL, NULL/*charset*/, 0 TSRMLS_CC);
                 } else if (PG(magic_quotes_gpc) && !retval) { /* for PARSE_STRING php_register_variable_safe() will do the addslashes() */  
                         Z_STRVAL(new_var) = php_addslashes(*val, Z_STRLEN(new_var), &Z_STRLEN(new_var), 0 TSRMLS_CC);  
                 } else {                  } else {
                         Z_STRVAL(new_var) = estrndup(*val, val_len);                          Z_STRVAL(new_var) = estrndup(*val, val_len);
                 }                  }
Line 483  static unsigned int php_sapi_filter(int arg, char *var Line 472  static unsigned int php_sapi_filter(int arg, char *var
         }          }
   
         if (orig_array_ptr) {          if (orig_array_ptr) {
                php_register_variable_ex(orig_var, &new_var, orig_array_ptr TSRMLS_CC);                php_register_variable_ex(var, &new_var, orig_array_ptr TSRMLS_CC);
         }          }
         if (array_ptr) {  
                 efree(orig_var);  
         }  
   
         if (retval) {          if (retval) {
                 if (new_val_len) {                  if (new_val_len) {
Line 539  static zval *php_filter_get_storage(long arg TSRMLS_DC Line 525  static zval *php_filter_get_storage(long arg TSRMLS_DC
   
 {  {
         zval *array_ptr = NULL;          zval *array_ptr = NULL;
         zend_bool jit_initialization = (PG(auto_globals_jit) && !PG(register_globals) && !PG(register_long_arrays));  
   
         switch (arg) {          switch (arg) {
                 case PARSE_GET:                  case PARSE_GET:
Line 552  static zval *php_filter_get_storage(long arg TSRMLS_DC Line 537  static zval *php_filter_get_storage(long arg TSRMLS_DC
                         array_ptr = IF_G(cookie_array);                          array_ptr = IF_G(cookie_array);
                         break;                          break;
                 case PARSE_SERVER:                  case PARSE_SERVER:
                        if (jit_initialization) {                        if (PG(auto_globals_jit)) {
                                 zend_is_auto_global("_SERVER", sizeof("_SERVER")-1 TSRMLS_CC);                                  zend_is_auto_global("_SERVER", sizeof("_SERVER")-1 TSRMLS_CC);
                         }                          }
                         array_ptr = IF_G(server_array);                          array_ptr = IF_G(server_array);
                         break;                          break;
                 case PARSE_ENV:                  case PARSE_ENV:
                        if (jit_initialization) {                        if (PG(auto_globals_jit)) {
                                 zend_is_auto_global("_ENV", sizeof("_ENV")-1 TSRMLS_CC);                                  zend_is_auto_global("_ENV", sizeof("_ENV")-1 TSRMLS_CC);
                         }                          }
                         array_ptr = IF_G(env_array) ? IF_G(env_array) : PG(http_globals)[TRACK_VARS_ENV];                          array_ptr = IF_G(env_array) ? IF_G(env_array) : PG(http_globals)[TRACK_VARS_ENV];

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>