]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.3' into PHP-7.4
authorStanislav Malyshev <stas@php.net>
Tue, 29 Sep 2020 04:42:19 +0000 (21:42 -0700)
committerStanislav Malyshev <stas@php.net>
Tue, 29 Sep 2020 05:54:57 +0000 (22:54 -0700)
* PHP-7.3:
  Update UPGRADING
  Update NEWS & UPGRADING
  Do not decode cookie names anymore
  Fix bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12 bytes IV)

1  2 
ext/openssl/openssl.c
main/php_variables.c

Simple merge
index 1a40c2a19fd22fd19e00db05d3613cbdeddc93ca,ca015352d20a95bcf62d099ed98ee2d36431dae9..cbdc7cf171f0ab6a1eb13d6f395959e3280e3703
@@@ -500,25 -497,33 +500,27 @@@ SAPI_API SAPI_TREAT_DATA_FUNC(php_defau
                }
  
                if (val) { /* have a value */
 -                      size_t val_len;
 -                      size_t new_val_len;
  
                        *val++ = '\0';
 -                      if (arg != PARSE_COOKIE) {
 -                              php_url_decode(var, strlen(var));
 -                      }
 -                      val_len = php_url_decode(val, strlen(val));
 -                      val = estrndup(val, val_len);
 -                      if (sapi_module.input_filter(arg, var, &val, val_len, &new_val_len)) {
 -                              php_register_variable_safe(var, val, new_val_len, &array);
 +
 +                      if (arg == PARSE_COOKIE) {
 +                              val_len = php_raw_url_decode(val, strlen(val));
 +                      } else {
 +                              val_len = php_url_decode(val, strlen(val));
                        }
 -                      efree(val);
                } else {
 -                      size_t val_len;
 -                      size_t new_val_len;
 +                      val     = "";
 +                      val_len =  0;
 +              }
  
 -                      if (arg != PARSE_COOKIE) {
 -                              php_url_decode(var, strlen(var));
 -                      }
 -                      val_len = 0;
 -                      val = estrndup("", val_len);
 -                      if (sapi_module.input_filter(arg, var, &val, val_len, &new_val_len)) {
 -                              php_register_variable_safe(var, val, new_val_len, &array);
 -                      }
 -                      efree(val);
 +              val = estrndup(val, val_len);
-               php_url_decode(var, strlen(var));
++              if (arg != PARSE_COOKIE) {
++                      php_url_decode(var, strlen(var));
+               }
 +              if (sapi_module.input_filter(arg, var, &val, val_len, &new_val_len)) {
 +                      php_register_variable_safe(var, val, new_val_len, &array);
 +              }
 +              efree(val);
  next_cookie:
                var = php_strtok_r(NULL, separator, &strtok_buf);
        }