summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/imap/php_imap.c5
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);