summaryrefslogtreecommitdiff
path: root/ext/imap/php_imap.c
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>2001-02-21 20:33:46 +0000
committerThies C. Arntzen <thies@php.net>2001-02-21 20:33:46 +0000
commit7139926e8478b5a4c0fcc16979f28f1fda427fc9 (patch)
treeafc4037b7b3cc3c511942b4fa019aa7d6341b02b /ext/imap/php_imap.c
parent4a32816f9e4383b968c39b2a6f6a7922b768059a (diff)
downloadphp-git-7139926e8478b5a4c0fcc16979f28f1fda427fc9.tar.gz
fix possible leak.
Diffstat (limited to 'ext/imap/php_imap.c')
-rw-r--r--ext/imap/php_imap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c
index 6ae8862194..550ebc9ab7 100644
--- a/ext/imap/php_imap.c
+++ b/ext/imap/php_imap.c
@@ -732,6 +732,8 @@ void imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
}
}
efree(hashed_details);
+ efree(IMAPG(imap_user)); IMAPG(imap_user) = 0;
+ efree(IMAPG(imap_password)); IMAPG(imap_password) = 0;
RETURN_FALSE;
}
@@ -741,6 +743,8 @@ void imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
node = malloc(sizeof(pils));
if (node == NULL) {
efree(hashed_details);
+ efree(IMAPG(imap_user)); IMAPG(imap_user) = 0;
+ efree(IMAPG(imap_password)); IMAPG(imap_password) = 0;
RETURN_FALSE;
}
@@ -777,6 +781,8 @@ void imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
free(headp);
efree(hashed_details);
+ efree(IMAPG(imap_user)); IMAPG(imap_user) = 0;
+ efree(IMAPG(imap_password)); IMAPG(imap_password) = 0;
RETURN_FALSE;
}
@@ -789,6 +795,8 @@ void imap_do_open(INTERNAL_FUNCTION_PARAMETERS, int persistent)
if (imap_stream == NIL) {
php_error(E_WARNING, "Couldn't open stream %s\n", (*mailbox)->value.str.val);
+ efree(IMAPG(imap_user)); IMAPG(imap_user) = 0;
+ efree(IMAPG(imap_password)); IMAPG(imap_password) = 0;
RETURN_FALSE;
}