Home » Mail » Mail_mimeDecode » Bug #9100
Error with nested boundaries where inner boundary is a subset of the outer
Details
| Submitted | 2006-10-20 04:31 UTC |
|---|---|
| From | rocca at start dot ca |
| Assigned | alan_k |
| Status | Closed |
| Package | Mail_mimeDecode |
| PHP Version | Irrelevant |
| OS | All |
| Roadmaps | 1.6.0 |
Comments
[2006-10-20 04:31 UTC] rocca at start dot ca
Description:
------------
If the input data has an inner boundary that contains a subset of the outer boundary the _boundarySplit function will incorrectly parse the data.
For example:
Content-Type: multipart/mixed; boundary="abc"
--abc
Content-Type: multipart/mixed; boundary="abc_a"
--abc_a
inner
--abc_a--
outer
--abc--
...will return 'abc_a' as being at the same level as 'abc' and additionally create some garbage nodes.
Test script:
---------------
function _boundarySplit($input, $boundary) {
- $tmp = explode('--' . $boundary, $input);
+ $tmp = preg_split("/--$boundary(\b|--)/", $input);
[2006-11-07 14:50 UTC] rocca at start dot ca
Changing PHP/OS version to Irrelevant. Also the 'test script' is actually the diff required to fix the problem. Ie, using preg_split instead of explode.