COM Memory Leak in 4.2.3RC1
| From: | Michael Sisolak | Date: | Tue, 27 Aug 2002 19:47:08 +0000 |
| Subject: | COM Memory Leak in 4.2.3RC1 | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-87540@lists.php.net to get a copy of this message | ||
There appears to be a memory leak when setting a property value of a
COM object in 4.2.3RC1. Running under ISAPI if this script is repeated
memory usage continues to grow:
$adodb = new COM("ADODB.Connection");
$adodb->ConnectionString = str_repeat("this is a text string!", 1000);
Looking through the patches that have been applied, I believe that this
is caused when COM.c went from 1.78 to 1.79 (which was then back-ported
to 4.2.3). In this patch at the end of do_COM_propput(), this:
FREE_VARIANT(new_value);
became this:
efree(new_value); // FREE_VARIANT does a VariantClear() which is not
desired here !
If I reverse this patch I no longer see the leak and the code still
appears to be working correctly. What was the purpose of this change?
Michael Sisolak
msisolak@gvpi.com
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com