diff options
author | foobar <sniper@php.net> | 2001-01-07 07:47:46 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2001-01-07 07:47:46 +0000 |
commit | dd2cd995cb0e7a3f8d24151f6c723eedae81a0d2 (patch) | |
tree | 7893d80420ff25d6dfb1ba2cc09a27431ab38521 /ext/imap/php_imap.c | |
parent | e14aeb866894d768db7a3303362b2f98a344fa73 (diff) | |
download | php-git-dd2cd995cb0e7a3f8d24151f6c723eedae81a0d2.tar.gz |
imap_user and imap_password were freed too early.
PR: 8424
Diffstat (limited to 'ext/imap/php_imap.c')
-rw-r--r-- | ext/imap/php_imap.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index ca4b274a03..c2bd523977 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -71,7 +71,7 @@ void *fs_get(size_t size); int imap_mail(char *to, char *subject, char *message, char *headers, char *cc, char *bcc, char *rpath); -void mail_close_it(zend_rsrc_list_entry *rsrc); +void mail_close_it (zend_rsrc_list_entry *rsrc); #ifdef OP_RELOGIN /* AJS: close persistent connection */ void mail_userlogout_it(zend_rsrc_list_entry *rsrc); @@ -184,6 +184,9 @@ void mail_close_it(zend_rsrc_list_entry *rsrc) { pils *imap_le_struct = (pils *)rsrc->ptr; mail_close_full(imap_le_struct->imap_stream, imap_le_struct->flags); + + efree(IMAPG(imap_user)); + efree(IMAPG(imap_password)); efree(imap_le_struct); } @@ -766,8 +769,6 @@ void imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent) } else { #endif imap_stream = mail_open(NIL, Z_STRVAL_PP(mailbox), flags); - efree(IMAPG(imap_user)); - efree(IMAPG(imap_password)); if (imap_stream == NIL) { php_error(E_WARNING, "Couldn't open stream %s\n", (*mailbox)->value.str.val); |