iliaa           Wed Jan 14 19:35:05 2004 EDT

  Modified files:              
    /php-src/ext/imap   php_imap.c 
  Log:
  Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is 
  used).
  
  
Index: php-src/ext/imap/php_imap.c
diff -u php-src/ext/imap/php_imap.c:1.181 php-src/ext/imap/php_imap.c:1.182
--- php-src/ext/imap/php_imap.c:1.181   Wed Jan 14 03:50:02 2004
+++ php-src/ext/imap/php_imap.c Wed Jan 14 19:35:04 2004
@@ -26,7 +26,7 @@
    | PHP 4.0 updates:  Zeev Suraski <[EMAIL PROTECTED]>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_imap.c,v 1.181 2004/01/14 08:50:02 andi Exp $ */
+/* $Id: php_imap.c,v 1.182 2004/01/15 00:35:04 iliaa Exp $ */
 
 #define IMAP41
 
@@ -3607,8 +3607,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