From: Pierre Joye Date: Mon, 22 Jun 2009 20:42:04 +0000 (+0000) Subject: - MF53: #48619, imap_search ALL segfaults X-Git-Tag: php-5.2.11RC1~247 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=db4411e768ffbbe916a52827ea4f7adaf6ea0f9e;p=php - MF53: #48619, imap_search ALL segfaults --- diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index ea4e8d5761..24111e1399 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -2670,7 +2670,7 @@ PHP_FUNCTION(imap_sort) slst = mail_sort(imap_le_struct->imap_stream, (myargc == 6 ? Z_STRVAL_PP(charset) : NIL), spg, mypgm, (myargc >= 4 ? Z_LVAL_PP(flags) : NIL)); - if (spg) { + if (spg && !(flags & SE_FREE)) { mail_free_searchpgm(&spg); } @@ -3712,7 +3712,7 @@ PHP_FUNCTION(imap_search) mail_search_full(imap_le_struct->imap_stream, (argc == 4 ? Z_STRVAL_PP(charset) : NIL), pgm, flags); - if (pgm) { + if (pgm && !(flags & SE_FREE)) { mail_free_searchpgm(&pgm); } @@ -4341,7 +4341,7 @@ PHP_FUNCTION(imap_thread) pgm = mail_criteria(criteria); top = mail_thread(imap_le_struct->imap_stream, "REFERENCES", NIL, pgm, flags); - if (pgm) { + if (pgm && !(flags & SE_FREE)) { mail_free_searchpgm(&pgm); }