PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Mail » Mail_Mime » Bug #38

Undefined variable in mimedecode.php

Details

Submitted2003-09-26 15:35 UTC
Frommarcus at synchromedia dot co dot uk
Assignedgschlossnagle
StatusClosed
PackageMail_Mime
PHP Version4.3.2
OSIrrelevant
Roadmaps(Not assigned)

Comments

[2003-09-26 15:35 UTC] marcus at synchromedia dot co dot uk

Description:
------------
I keep seeing these errors when I'm handling bounces:

PHP Notice: Undefined variable: parts in /usr/local/
lib/php/Mail/
mimeDecode.php on line 470

That's this function:

function _boundarySplit($input, $boundary)
{
$tmp = explode('--'.$boundary, $input);

for ($i=1; $i<count($tmp)-1; $i++) {
$parts[] = $tmp[$i];
}

return $parts;
}

Obviously, if no boundaries are present in the message,
$parts remains undefined. All that's need to fix it is

$parts = array();

as the first line of the function.

My copy of this file is labelled version 1.34.

[2003-12-17 08:35 UTC] gchan at csufresno dot edu

I just downloaded (what I think) is the latest version of this package. I also get an error related to the parts variable in mimDecode.php (when I try to decode multipart mime messages encoded with mime.php). The problem seems to be how the quotes around the boundary string are handled. As a temporary fix, I modified the _boundarySplit() function to the following:

function _boundarySplit($input, $boundary)
{
$parts = array();

$bs_possible = substr($boundary, 2, -2);
$bs_check = '\"' . $bs_possible . '\"';

if ($boundary == $bs_check) {
$boundary = $bs_possible;
}

$tmp = explode('--' . $boundary, $input);

for ($i = 1; $i < count($tmp) - 1; $i++) {
$parts[] = $tmp[$i];
}

return $parts;
}

Which seems to be working right now...

[2004-04-02 16:31 UTC] gschlossnagle at php dot net

This bug has been fixed in CVS.

In case this was a documentation problem, the fix will show up at the
end of next Sunday (CET) on pear.php.net.

In case this was a pear.php.net website problem, the change will show
up on the website in short time.

Thank you for the report, and for helping us make PEAR better.