zoe Tue Dec 16 21:08:50 2008 UTC Modified files: /php-src/ext/imap php_imap.c Log: bug #46884 fix http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.265&r2=1.266&diff_format=u Index: php-src/ext/imap/php_imap.c diff -u php-src/ext/imap/php_imap.c:1.265 php-src/ext/imap/php_imap.c:1.266 --- php-src/ext/imap/php_imap.c:1.265 Fri Dec 5 11:57:24 2008 +++ php-src/ext/imap/php_imap.c Tue Dec 16 21:08:50 2008 @@ -26,7 +26,7 @@ | PHP 4.0 updates: Zeev Suraski <z...@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: php_imap.c,v 1.265 2008/12/05 11:57:24 zoe Exp $ */ +/* $Id: php_imap.c,v 1.266 2008/12/16 21:08:50 zoe Exp $ */ #define IMAP41 @@ -1560,6 +1560,12 @@ return; } + if (flags && ((flags & ~(FT_UID|FT_PEEK|FT_INTERNAL)) != 0)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid value for the options parameter"); + RETURN_FALSE; + } + + ZEND_FETCH_RESOURCE(imap_le_struct, pils *, &streamind, -1, "imap", le_imap); if ((argc == 3) && (flags & FT_UID)) { @@ -2151,6 +2157,12 @@ if (zend_parse_parameters(argc TSRMLS_CC, "rl|l", &streamind, &msgno, &flags) == FAILURE) { return; } + + if (flags && ((flags & ~FT_UID) != 0)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid value for the options parameter"); + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE(imap_le_struct, pils *, &streamind, -1, "imap", le_imap); @@ -2197,6 +2209,12 @@ return; } + if (flags && ((flags & ~(FT_UID|FT_PEEK|FT_INTERNAL)) != 0)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid value for the options parameter"); + RETURN_FALSE; + } + + ZEND_FETCH_RESOURCE(imap_le_struct, pils *, &streamind, -1, "imap", le_imap); if (argc < 4 || !(flags & FT_UID)) { @@ -2915,13 +2933,20 @@ PHP_FUNCTION(imap_fetchheader) { zval *streamind; - long msgno, flags; + long msgno, flags=0L; pils *imap_le_struct; int msgindex, argc = ZEND_NUM_ARGS(); if (zend_parse_parameters(argc TSRMLS_CC, "rl|l", &streamind, &msgno, &flags) == FAILURE) { return; } + + + if (flags && ((flags & ~(FT_UID|FT_INTERNAL|FT_PREFETCHTEXT)) != 0)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid value for the options parameter"); + RETURN_FALSE; + } + ZEND_FETCH_RESOURCE(imap_le_struct, pils *, &streamind, -1, "imap", le_imap); @@ -3159,7 +3184,7 @@ return; } - if (flags && ((flags & ~FT_UID) !=0)) { + if (flags && ((flags & ~FT_UID) != 0)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid value for the options parameter"); RETURN_FALSE; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php