Hi all, when I was looking for source of problem with message forwarding I found these two things:
1/ there is function iil_ReadLine($fp, $size) but $size isn't used there. IMHO :) it should be used for fgets instead fixed value, but I'm realy realy not sure. Ryo, can you say? Patch with my opinion :) is attached. 2/ in function iil_C_HandlePartBody on line 1818 there is if ($len > $remaining) substr($line, 0, $remaining); But substr only return substring and do not directly modify $line, so it should look like this: if ($len > $remaining) $line = substr($line, 0, $remaining); Patch is attached. This is BUG, but I never mention that it have some bad impact :) -- .''`. Ondra 'Kepi' Kudlik : :' : Debian GNU/Linux User `. `' `- http://www.nosoftwarepatents.com/cz/m/intro/index.html
diff -Naur include/imap.inc
/domains/igloonet.com/web/www/ilohatest/include/imap.inc
--- include/imap.inc 2005-10-10 04:35:23.000000000 +0200
+++ include/imap.inc.new 2005-10-29 18:13:14.000000000 +0200
@@ -1815,8 +1815,8 @@
$remaining = $bytes - $received;
$line = iil_ReadLine($fp, 1024);
$len = strlen($line);
- if ($len > $remaining) substr($line, 0, $remaining);
+ if ($len > $remaining) $line = substr($line, 0, $remaining);
$received += strlen($line);
if ($mode==1) $result .= chop($line)."\n";
else if ($mode==2){ echo chop($line)."\n"; flush(); }
else if ($mode==3){ echo base64_decode($line); flush(); }
diff -Naur include/imap.inc
/domains/igloonet.com/web/www/ilohatest/include/imap.inc
--- include/imap.inc 2005-10-10 04:35:23.000000000 +0200
+++ include/imap.inc.new 2005-10-29 18:13:14.000000000 +0200
@@ -99,7 +99,7 @@
$line="";
if ($fp){
do{
- $buffer = fgets($fp, 2048);
+ $buffer = fgets($fp, $size);
$line.=$buffer;
}while($buffer[strlen($buffer)-1]!="\n");
}
signature.asc
Description: Digital signature
