#15630 [Fbk]: imap_utf7_decode appears to be broken

From: Date: Wed, 07 Aug 2002 14:52:28 +0000
Subject: #15630 [Fbk]: imap_utf7_decode appears to be broken
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-16176@lists.php.net to get a copy of this message
ID: 15630 Updated by: kalowsky@php.net Reported By: robert.marchand@umontreal.ca Status: Feedback Bug Type: IMAP related Operating System: SGI Irix 6.5 PHP Version: 4.2.2 New Comment: Once again, please send your updated patch to php-dev. Thank you. Previous Comments: ------------------------------------------------------------------------ [2002-08-06 19:02:27] gamid@isayev.net JFYI: cvs -d :pserver:cvsread@cvs.php.net:/repository co php4 cd php4/ext/imap/ cvs update -r 1.112.2.1 php_imap.c patch php_imap.c _file_with_my_patch_ cvs update -A php_imap.c cvs ci php_imap.c As result: --- php_imap.c 5 Aug 2002 21:53:09 -0000 1.134 +++ php_imap.c 6 Aug 2002 23:00:31 -0000 @@ -2077,14 +2077,14 @@ php_error(E_WARNING, "%s(): Invalid modified UTF-7 character: `%c'", get_active_function_name(TSRMLS_C), *inp); RETURN_FALSE; } else if (*inp != '&') { - outlen++; + outlen += 2; } else if (inp + 1 == endp) { php_error(E_WARNING, "%s(): Unexpected end of string", get_active_function_name(TSRMLS_C)); RETURN_FALSE; } else if (inp[1] != '-') { state = ST_DECODE0; } else { - outlen++; + outlen += 2; inp++; } } else if (*inp == '-') { @@ -2134,8 +2134,11 @@ if (*inp == '&' && inp[1] != '-') { state = ST_DECODE0; } - else if ((*outp++ = *inp) == '&') { - inp++; + else { + *outp++ = 0x00; + if ((*outp++ = *inp) == '&') { + inp++; + } } } else if (*inp == '-') { ------------------------------------------------------------------------ [2002-08-06 18:40:43] kalowsky@php.net Please update your patch to the current CVS as I can't seem to find the make it work against my cvs. ------------------------------------------------------------------------ [2002-08-06 17:41:21] gamid@isayev.net According CVS only warning messages was changed in the function imap_utf7_decode(). See diff between 1.134 (latest version of /ext/imap/php_imap.c in the CVS) and 1.112.2.1 (version included into PHP 4.2.2). Gamid Isayev ------------------------------------------------------------------------ [2002-08-06 17:11:51] kalowsky@php.net can you please try a recent snapshot from snaps.php.net? It looks like this has already been fixed in CVS. ------------------------------------------------------------------------ [2002-08-02 11:14:31] kalowsky@php.net two reports on this, moving it from Bogus status to Open. Updating version to 4.2.2 as well Does anyone have access to an IMAP server using utf7 encoding that they can test this out on? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/15630 -- Edit this bug report at http://bugs.php.net/?id=15630&edit=1

« previous php.bugs (#16176) next »