Fixed bug #55504 (Content-Type header is not parsed correctly on HTTP POST request

This commit is contained in:
Hannes Magnusson 2011-09-07 16:19:09 +00:00
parent 565cf8b76a
commit 797a1ce88f
5 changed files with 75 additions and 1 deletions

2
NEWS
View File

@ -10,6 +10,8 @@ PHP NEWS
(Arpad) (Arpad)
. Fixed bug #55576: Cannot conditionally move uploaded file without race . Fixed bug #55576: Cannot conditionally move uploaded file without race
condition. (Gustavo) condition. (Gustavo)
. Fixed bug #55504 (Content-Type header is not parsed correctly on
HTTP POST request). (Hannes)
- DateTime: - DateTime:
. Fixed bug #48476 (cloning extended DateTime class without calling . Fixed bug #48476 (cloning extended DateTime class without calling

View File

@ -816,7 +816,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
} }
} else { } else {
/* search for the end of the boundary */ /* search for the end of the boundary */
boundary_end = strchr(boundary, ','); boundary_end = strpbrk(boundary, ",;");
} }
if (boundary_end) { if (boundary_end) {
boundary_end[0] = '\0'; boundary_end[0] = '\0';

20
tests/basic/030.phpt Normal file
View File

@ -0,0 +1,20 @@
--TEST--
Bug#55504 (Content-Type header is not parsed correctly on HTTP POST request)
--INI--
file_uploads=1
--POST_RAW--
Content-Type: multipart/form-data; boundary=BVoyv; charset=iso-8859-1
--BVoyv
Content-Disposition: form-data; name="data"
abc
--BVoyv--
--FILE--
<?php
var_dump($_POST);
?>
--EXPECT--
array(1) {
["data"]=>
string(3) "abc"
}

32
tests/basic/031.phpt Normal file
View File

@ -0,0 +1,32 @@
--TEST--
Bug#55504 (Content-Type header is not parsed correctly on HTTP POST request)
--INI--
file_uploads=1
--POST_RAW--
Content-Type: multipart/form-data; boundary=BVoyv; charset=iso-8859-1
--BVoyv
Content-Disposition: form-data; name="data"
abc
--BVoyv
Content-Disposition: form-data; name="data2"
more data
--BVoyv
Content-Disposition: form-data; name="data3"
even more data
--BVoyv--
--FILE--
<?php
var_dump($_POST);
?>
--EXPECT--
array(3) {
["data"]=>
string(3) "abc"
["data2"]=>
string(9) "more data"
["data3"]=>
string(14) "even more data"
}

20
tests/basic/032.phpt Normal file
View File

@ -0,0 +1,20 @@
--TEST--
Bug#18792 (no form variables after multipart/form-data)
--INI--
file_uploads=1
--POST_RAW--
Content-Type: multipart/form-data; boundary=BVoyv, charset=iso-8859-1
--BVoyv
Content-Disposition: form-data; name="data"
abc
--BVoyv--
--FILE--
<?php
var_dump($_POST);
?>
--EXPECT--
array(1) {
["data"]=>
string(3) "abc"
}