thies           Sun Feb 18 10:15:02 2001 EDT

  Modified files:              
    /php4/ext/imap      php_imap.c 
  Log:
  fixed a possible double-free
  
  
Index: php4/ext/imap/php_imap.c
diff -u php4/ext/imap/php_imap.c:1.55 php4/ext/imap/php_imap.c:1.56
--- php4/ext/imap/php_imap.c:1.55       Mon Feb 12 03:57:22 2001
+++ php4/ext/imap/php_imap.c    Sun Feb 18 10:15:01 2001
@@ -25,7 +25,7 @@
    | PHP 4.0 updates:  Zeev Suraski <[EMAIL PROTECTED]>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_imap.c,v 1.55 2001/02/12 11:57:22 thies Exp $ */
+/* $Id: php_imap.c,v 1.56 2001/02/18 18:15:01 thies Exp $ */
 
 #define IMAP41
 
@@ -187,8 +187,15 @@
 
        mail_close_full(imap_le_struct->imap_stream, imap_le_struct->flags);
 
-       efree(IMAPG(imap_user));
-       efree(IMAPG(imap_password));
+       if (IMAPG(imap_user)) {
+               efree(IMAPG(imap_user));
+               IMAPG(imap_user) = 0;
+       }
+       if (IMAPG(imap_password)) {
+               efree(IMAPG(imap_password));
+               IMAPG(imap_password) = 0;
+       }
+
        efree(imap_le_struct);
 }
 
@@ -636,6 +643,14 @@
                        cl_flags = CL_EXPUNGE;
                        flags ^= PHP_EXPUNGE;
                }
+       }
+
+       if (IMAPG(imap_user)) { 
+               efree(IMAPG(imap_user));
+       }
+
+       if (IMAPG(imap_password)) { 
+               efree(IMAPG(imap_password));
        }
 
        IMAPG(imap_user)     = estrndup(Z_STRVAL_PP(user), Z_STRLEN_PP(user));



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to