cvs: php-src(PHP_5_0) /ext/imap php_imap.c
| From: | Antony Dovgal | Date: | Thu, 20 Jan 2005 14:11:36 +0000 |
| Subject: | cvs: php-src(PHP_5_0) /ext/imap php_imap.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-30030@lists.php.net to get a copy of this message | ||
tony2001 Thu Jan 20 09:11:36 2005 EDT
Modified files: (Branch: PHP_5_0)
/php-src/ext/imap php_imap.c
Log:
MFH: fix segfault in imap_headerinfo() when fromlength or subjectlength are less than 0
+ fix protos
http://cvs.php.net/diff.php/php-src/ext/imap/php_imap.c?r1=1.184.2.12&r2=1.184.2.13&ty=u
Index: php-src/ext/imap/php_imap.c
diff -u php-src/ext/imap/php_imap.c:1.184.2.12 php-src/ext/imap/php_imap.c:1.184.2.13
--- php-src/ext/imap/php_imap.c:1.184.2.12 Tue Jan 18 18:36:37 2005
+++ php-src/ext/imap/php_imap.c Thu Jan 20 09:11:36 2005
@@ -26,7 +26,7 @@
| PHP 4.0 updates: Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_imap.c,v 1.184.2.12 2005/01/18 23:36:37 iliaa Exp $ */
+/* $Id: php_imap.c,v 1.184.2.13 2005/01/20 14:11:36 tony2001 Exp $ */
#define IMAP41
@@ -1525,12 +1525,20 @@
convert_to_long_ex(msgno);
if (myargc >= 3) {
- convert_to_long_ex(fromlength);
+ convert_to_long_ex(fromlength);
+ if (Z_LVAL_PP(fromlength) < 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "From length has to be greater than or equal to
0");
+ RETURN_FALSE;
+ }
} else {
fromlength = 0x00;
}
if (myargc >= 4) {
convert_to_long_ex(subjectlength);
+ if (Z_LVAL_PP(subjectlength) < 0) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Subject length has to be greater than or equal
to 0");
+ RETURN_FALSE;
+ }
} else {
subjectlength = 0x00;
}
@@ -1798,7 +1806,7 @@
}
/* }}} */
-/* {{{ proto string imap_fetchbody(resource stream_id, int msg_no, int section [, int options])
+/* {{{ proto string imap_fetchbody(resource stream_id, int msg_no, string section [, int options])
Get a specific body section */
PHP_FUNCTION(imap_fetchbody)
{
@@ -2612,7 +2620,7 @@
}
/* }}} */
-/* {{{ proto object imap_bodystruct(resource stream_id, int msg_no, int section)
+/* {{{ proto object imap_bodystruct(resource stream_id, int msg_no, string section)
Read the structure of a specified body section of a specific message */
PHP_FUNCTION(imap_bodystruct)
{