cvs: php4 /ext/imap php_imap.c
| From: | Thies C. Arntzen | Date: | Sun, 18 Feb 2001 18:15:02 +0000 |
| Subject: | cvs: php4 /ext/imap php_imap.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-4108@lists.php.net to get a copy of this message | ||
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 <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $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));