From c1962e900a4ebe74a6e7578e3da75a0931687546 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 12 Oct 2020 13:26:38 +0200 Subject: Fix #80223: imap_mail_compose() leaks envelope on malformed bodies We have to clean up even on failure. Closes GH-6322. --- ext/imap/php_imap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ext/imap/php_imap.c') diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index 0cf350e907..63b5464808 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -3622,7 +3622,8 @@ PHP_FUNCTION(imap_mail_compose) if (Z_TYPE_P(data) != IS_ARRAY) { php_error_docref(NULL, E_WARNING, "body parameter must be a non-empty array"); - RETURN_FALSE; + RETVAL_FALSE; + goto done; } SEPARATE_ARRAY(data); @@ -3824,7 +3825,8 @@ PHP_FUNCTION(imap_mail_compose) if (first) { php_error_docref(NULL, E_WARNING, "body parameter must be a non-empty array"); - RETURN_FALSE; + RETVAL_FALSE; + goto done; } if (bod && bod->type == TYPEMULTIPART && (!bod->nested.part || !bod->nested.part->next)) { -- cgit v1.2.1