pajoye Thu Apr 23 22:32:41 2009 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/imap php_imap.c
Log:
- MFH: #47940, leaks in imap_body()
http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.208.2.7.2.44&r2=1.208.2.7.2.45&diff_format=u
Index: php-src/ext/imap/php_imap.c
diff -u php-src/ext/imap/php_imap.c:1.208.2.7.2.44
php-src/ext/imap/php_imap.c:1.208.2.7.2.45
--- php-src/ext/imap/php_imap.c:1.208.2.7.2.44 Sun Apr 5 14:10:49 2009
+++ php-src/ext/imap/php_imap.c Thu Apr 23 22:32:41 2009
@@ -26,7 +26,7 @@
| PHP 4.0 updates: Zeev Suraski <[email protected]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_imap.c,v 1.208.2.7.2.44 2009/04/05 14:10:49 iliaa Exp $ */
+/* $Id: php_imap.c,v 1.208.2.7.2.45 2009/04/23 22:32:41 pajoye Exp $ */
#define IMAP41
@@ -1219,6 +1219,8 @@
pils *imap_le_struct;
int msgindex, myargc=ZEND_NUM_ARGS();
long flags=0L;
+ char *body;
+ unsigned long body_len = 0;
if (myargc < 2 || myargc > 3 || zend_get_parameters_ex(myargc,
&streamind, &msgno, &pflags) == FAILURE) {
ZEND_WRONG_PARAM_COUNT();
@@ -1249,8 +1251,13 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad message
number");
RETURN_FALSE;
}
-
- RETVAL_STRING(mail_fetchtext_full (imap_le_struct->imap_stream,
Z_LVAL_PP(msgno), NIL, myargc==3 ? Z_LVAL_PP(pflags) : NIL), 1);
+ body = mail_fetchtext_full (imap_le_struct->imap_stream,
Z_LVAL_PP(msgno), NIL, (myargc==3 ? Z_LVAL_PP(pflags) : NIL));
+ if (body_len == 0) {
+ RETVAL_EMPTY_STRING();
+ } else {
+ RETVAL_STRINGL(body, body_len, 1);
+ }
+ free(body);
}
/* }}} */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php