tony2001 Tue Sep 5 11:24:49 2006 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/imap/tests imap_utf8.phpt
Modified files:
/php-src/ext/imap php_imap.c
Log:
fix leak in imap_utf8(), avoid extra strlen() call
add test
http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.208.2.7.2.4&r2=1.208.2.7.2.5&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.4
php-src/ext/imap/php_imap.c:1.208.2.7.2.5
--- php-src/ext/imap/php_imap.c:1.208.2.7.2.4 Thu Aug 31 16:15:24 2006
+++ php-src/ext/imap/php_imap.c Tue Sep 5 11:24:49 2006
@@ -26,7 +26,7 @@
| PHP 4.0 updates: Zeev Suraski <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_imap.c,v 1.208.2.7.2.4 2006/08/31 16:15:24 tony2001 Exp $ */
+/* $Id: php_imap.c,v 1.208.2.7.2.5 2006/09/05 11:24:49 tony2001 Exp $ */
#define IMAP41
@@ -2178,7 +2178,10 @@
cpytxt(&src, Z_STRVAL_PP(str), Z_STRLEN_PP(str));
utf8_mime2text(&src, &dest);
- RETURN_STRINGL(dest.data, strlen(dest.data), 1);
+ RETVAL_STRINGL(dest.data, dest.size, 1);
+ if (dest.data) {
+ free(dest.data);
+ }
}
/* }}} */
http://cvs.php.net/viewvc.cgi/php-src/ext/imap/tests/imap_utf8.phpt?view=markup&rev=1.1
Index: php-src/ext/imap/tests/imap_utf8.phpt
+++ php-src/ext/imap/tests/imap_utf8.phpt
--TEST--
imap_utf8() tests
--SKIPIF--
<?php if (!extension_loaded("imap")) print "skip"; ?>
--FILE--
<?php
var_dump(imap_utf8(""));
var_dump(imap_utf8(1));
var_dump(imap_utf8(array(1,2)));
var_dump(imap_utf8("test"));
echo "Done\n";
?>
--EXPECTF--
string(0) ""
string(1) "1"
Notice: Array to string conversion in %s on line %d
string(5) "Array"
string(4) "test"
Done
--UEXPECTF--
string(0) ""
string(1) "1"
Notice: Array to string conversion in %s on line %d
string(5) "Array"
string(4) "test"
Done
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php