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]