ID:               45705
 User updated by:  jan at horde dot org
 Reported By:      jan at horde dot org
 Status:           Assigned
 Bug Type:         IMAP related
 Operating System: Linux
 PHP Version:      5.3.0alpha1
 Assigned To:      jani
 New Comment:

Looks like this only happens with imap_mail_compose() with uses
rfc822_parse_adrlist(). imap_mail() with uses that function through
_php_imap_mail() is not affected. New test:

--TEST--
imap_rfc822_parse_adrlist() adding NUL byte to argument.
--SKIPIF--
<?php if (!extension_exists('imap')) echo 'skip IMAP extension not
installed'; ?>
--FILE--
<?php

$address = 'John Doe <[EMAIL PROTECTED]>';
imap_rfc822_parse_adrlist($address, null);
echo $address;

echo "\n";
$envelope = array('return_path' => 'John Doe <[EMAIL PROTECTED]>',
                  'from'        => 'John Doe <[EMAIL PROTECTED]>',
                  'reply_to'    => 'John Doe <[EMAIL PROTECTED]>',
                  'to'          => 'John Doe <[EMAIL PROTECTED]>',
                  'cc'          => 'John Doe <[EMAIL PROTECTED]>',
                  'bcc'         => 'John Doe <[EMAIL PROTECTED]>');
imap_mail_compose($envelope, array(1 => array()));
var_export($envelope);

echo "\n";
$to  = 'John Doe <[EMAIL PROTECTED]>';
$cc  = 'John Doe <[EMAIL PROTECTED]>';
$bcc = 'John Doe <[EMAIL PROTECTED]>';
imap_mail($to, 'Subject', 'Body', '', $cc, $bcc);
echo $to;
echo "\n";
echo $cc;
echo "\n";
echo $bcc;

?>
--EXPECT--
John Doe <[EMAIL PROTECTED]>
array (
  'return_path' => 'John Doe <[EMAIL PROTECTED]>',
  'from' => 'John Doe <[EMAIL PROTECTED]>',
  'reply_to' => 'John Doe <[EMAIL PROTECTED]>',
  'to' => 'John Doe <[EMAIL PROTECTED]>',
  'cc' => 'John Doe <[EMAIL PROTECTED]>',
  'bcc' => 'John Doe <[EMAIL PROTECTED]>',
)
John Doe <[EMAIL PROTECTED]>
John Doe <[EMAIL PROTECTED]>
John Doe <[EMAIL PROTECTED]>


Previous Comments:
------------------------------------------------------------------------

[2008-08-04 13:36:05] [EMAIL PROTECTED]

Can't reproduce with PHP_5_2 branch. Looks like someone didn't bother
merging some fixes from that branch to HEAD/PHP_5_3..

------------------------------------------------------------------------

[2008-08-04 13:12:10] [EMAIL PROTECTED]

I guess this affects ALL places using rfc822_parse_adrlist() and not
duplicating the passed data. I'll look into this. Maybe you could
provide more tests those functions that use this c-client func? :)

------------------------------------------------------------------------

[2008-08-04 09:48:47] jan at horde dot org

Description:
------------
imap_rfc822_parse_adrlist() adds a NUL byte (actually replace a space
with one) in the passed string argument.

Reproduce code:
---------------
--TEST--
imap_rfc822_parse_adrlist() adding NUL byte to argument.
--SKIPIF--
<?php if (!extension_exists('imap')) echo 'skip IMAP extension not
installed'; ?>
--FILE--
<?php

$address = 'John Doe <[EMAIL PROTECTED]>';
imap_rfc822_parse_adrlist($address, null);
echo $address;

?>
--EXPECT--
John Doe <[EMAIL PROTECTED]>




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=45705&edit=1

Reply via email to