Bug #11642: mcrypt_generic() leaks memory
| From: | jc at irbs dot com | Date: | Sun, 24 Jun 2001 16:17:53 +0000 |
| Subject: | Bug #11642: mcrypt_generic() leaks memory | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-57841@lists.php.net to get a copy of this message | ||
From: jc@irbs.com
Operating system: FreeBSD 4.3-stable
PHP version: 4.0.6
PHP Bug Type: mcrypt related
Bug description: mcrypt_generic() leaks memory
Minimal configuration
./configure --without-mysql --with-apache=../apache_1.3.20 --without-gd --without-zlib
--without-gdbm
--without-shared-apache --with-mcrypt
libmcrypt versions 2.2.7, 2.4.10, 2.4.11, 2.4.15
php versions 4.0.4pl1, 4.0.5, 4.0.6
This script leaks about 6MB per execution on my system.
<PRE>
<?
$key = "87654321";
for ($i = 500; $i--; )
$input .= '1234567890';
require("Crypt/CBC.php");
$CBC = new Crypt_CBC($key, "DES");
$block = $CBC->encrypt($input);
$x = $CBC->decrypt($block);
if ($x != $input)
print "$x\n";
?>
</PRE>
Modifying PEAR/Crypt/CBC.php to use mcrypt_ecb() instead of
mcrypt_generic() reduces memory leak to less than 1MB
after 1000 executions.
--
Edit Bug report at: http://bugs.php.net/?id=11642&edit=1