summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-10-12 23:17:42 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-10-12 23:17:57 +0200
commit12fc8f66e7756a46b816b71de83f856e7ba018ae (patch)
tree9f75eb8bb8c4a324965762cc1c4ca03eabcfb53a
parent74cf2eb83fc664cbad2d619fd2662bee770d8f81 (diff)
parent8488c34fc607353be97e0ebadca3fec9f6373b6d (diff)
downloadphp-git-12fc8f66e7756a46b816b71de83f856e7ba018ae.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix #80226: imap_sort() leaks sortpgm memory
-rw-r--r--NEWS1
-rw-r--r--ext/imap/php_imap.c1
-rw-r--r--ext/imap/tests/bug80226.phpt13
3 files changed, 15 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index b2aa18c974..47f7782078 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,7 @@ PHP NEWS
(cmb)
. Fixed bug #80216 (imap_mail_compose() does not validate types/encodings).
(cmb)
+ . Fixed bug #80226 (imap_sort() leaks sortpgm memory). (cmb)
- MySQLnd:
. Fixed bug #80115 (mysqlnd.debug doesn't recognize absolute paths with
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c
index e6775ac811..8c74c8b29a 100644
--- a/ext/imap/php_imap.c
+++ b/ext/imap/php_imap.c
@@ -3201,6 +3201,7 @@ PHP_FUNCTION(imap_sort)
slst = mail_sort(imap_le_struct->imap_stream, (argc == 6 ? ZSTR_VAL(charset) : NIL), spg, mypgm, (argc >= 4 ? flags : NIL));
+ mail_free_sortpgm(&mypgm);
if (spg && !(flags & SE_FREE)) {
mail_free_searchpgm(&spg);
}
diff --git a/ext/imap/tests/bug80226.phpt b/ext/imap/tests/bug80226.phpt
new file mode 100644
index 0000000000..95ec235178
--- /dev/null
+++ b/ext/imap/tests/bug80226.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Bug #80226 (imap_sort() leaks sortpgm memory)
+--SKIPIF--
+<?php
+require_once(__DIR__.'/skipif.inc');
+?>
+--FILE--
+<?php
+require_once(__DIR__.'/imap_include.inc');
+$stream = imap_open($default_mailbox, $username, $password);
+imap_sort($stream, SORTFROM, 0);
+?>
+--EXPECT--