iliaa           Wed Jan 14 19:36:10 2004 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src    NEWS 
    /php-src/ext/imap   php_imap.c 
  Log:
  MFH: Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is 
  used).
  
  
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.525 php-src/NEWS:1.1247.2.526
--- php-src/NEWS:1.1247.2.525   Wed Jan 14 09:31:25 2004
+++ php-src/NEWS        Wed Jan 14 19:36:08 2004
@@ -1,6 +1,8 @@
 PHP 4                                                                      NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? Jan 2004, Version 4.3.5
+- Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is 
+  used). (Ilia)
 - Fixed bug #26878 (problem with multiple references to the same variable 
   with different types). (Ilia)
 - Fixed bug #26896 (ext/ftp does not work as shared extension). (Jani)
Index: php-src/ext/imap/php_imap.c
diff -u php-src/ext/imap/php_imap.c:1.142.2.21 php-src/ext/imap/php_imap.c:1.142.2.22
--- php-src/ext/imap/php_imap.c:1.142.2.21      Wed Jan  7 20:02:03 2004
+++ php-src/ext/imap/php_imap.c Wed Jan 14 19:36:09 2004
@@ -26,7 +26,7 @@
    | PHP 4.0 updates:  Zeev Suraski <[EMAIL PROTECTED]>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_imap.c,v 1.142.2.21 2004/01/08 01:02:03 sniper Exp $ */
+/* $Id: php_imap.c,v 1.142.2.22 2004/01/15 00:36:09 iliaa Exp $ */
 
 #define IMAP41
 
@@ -3577,8 +3577,12 @@
                                                add_property_string(myobject, 
"charset", charset, 1);
                                                add_property_string(myobject, "text", 
decode, 1);
                                                
zend_hash_next_index_insert(Z_ARRVAL_P(return_value), (void *)&myobject, sizeof(zval 
*), NULL);
-                                               fs_give((void**)&decode);
                                                
+                                               /* only free decode if it was 
allocated by rfc822_qprint or rfc822_base64 */
+                                               if (decode != text) {
+                                                       fs_give((void**)&decode);
+                                               }
+
                                                offset = end_token+2;
                                                for (i = 0; (string[offset + i] == ' 
') || (string[offset + i] == 0x0a) || (string[offset + i] == 0x0d); i++);
                                                if ((string[offset + i] == '=') && 
(string[offset + i + 1] == '?') && (offset + i < end)) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to