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

Reply via email to