]> granicus.if.org Git - php/commitdiff
fix possible leak.
authorThies C. Arntzen <thies@php.net>
Wed, 21 Feb 2001 20:33:46 +0000 (20:33 +0000)
committerThies C. Arntzen <thies@php.net>
Wed, 21 Feb 2001 20:33:46 +0000 (20:33 +0000)
ext/imap/php_imap.c

index 6ae886219486eb729618717086ae1a6807cb166f..550ebc9ab7fea377c14ad98dc09e9e3c9ff7fa6d 100644 (file)
@@ -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;
                }