diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-02-12 10:50:09 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-02-12 10:50:22 +0100 |
commit | 2ea5a9cc6470564a377b71f7fd07972f1c026887 (patch) | |
tree | 50a37bccf0f6ccecacc39d42eab9c95cb1cca1a5 | |
parent | 97dd1591af3eee8ff43f77afc03013a29cdeb935 (diff) | |
parent | 8e34de475699a4aa0fbc7b8430574b56dc839362 (diff) | |
download | php-git-2ea5a9cc6470564a377b71f7fd07972f1c026887.tar.gz |
Merge branch 'PHP-7.2' into PHP-7.3
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | ext/standard/http.c | 9 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug77608.phpt | 11 |
3 files changed, 13 insertions, 9 deletions
@@ -43,6 +43,8 @@ PHP NEWS - Standard: . Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions). (John Stevenson) + . Fixed bug #77608 (http_build_query doesn't encode "+" in a float number). + (Nikita) 07 Feb 2019, PHP 7.3.2 diff --git a/ext/standard/http.c b/ext/standard/http.c index 27ceafe0ae..a2c457704f 100644 --- a/ext/standard/http.c +++ b/ext/standard/http.c @@ -190,15 +190,6 @@ PHPAPI int php_url_encode_hash_ex(HashTable *ht, smart_str *formstr, case IS_TRUE: smart_str_appendl(formstr, "1", sizeof("1")-1); break; - case IS_DOUBLE: - { - char *ekey; - size_t ekey_len; - ekey_len = spprintf(&ekey, 0, "%.*G", (int) EG(precision), Z_DVAL_P(zdata)); - smart_str_appendl(formstr, ekey, ekey_len); - efree(ekey); - } - break; default: { zend_string *ekey; diff --git a/ext/standard/tests/strings/bug77608.phpt b/ext/standard/tests/strings/bug77608.phpt new file mode 100644 index 0000000000..77bfb74a87 --- /dev/null +++ b/ext/standard/tests/strings/bug77608.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug #77608: http_build_query doesn't encode "+" in a float number +--FILE-- +<?php + +$a = ["x" => 1E+14, "y" => "1E+14"]; +echo http_build_query($a); + +?> +--EXPECT-- +x=1.0E%2B14&y=1E%2B14 |