diff options
Diffstat (limited to 'ext/imap/php_imap.c')
-rw-r--r-- | ext/imap/php_imap.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index 34c51188c1..c40944acb5 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -2467,8 +2467,13 @@ PHP_FUNCTION(imap_sort) } if (myargc >= 4) { convert_to_long_ex(flags); + if (Z_LVAL_PP(flags) < 0) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Search options parameter has to be greater than or equal to 0cannot be less than 0"); + RETURN_FALSE; + } } if (myargc >= 5) { + convert_to_string_ex(criteria); search_criteria = estrndup(Z_STRVAL_PP(criteria), Z_STRLEN_PP(criteria)); spg = mail_criteria(search_criteria); efree(search_criteria); |