COM Memory Leak in 4.2.3 RCs Not Addressed

From: Date: Tue, 10 Sep 2002 18:41:52 +0000
Subject: COM Memory Leak in 4.2.3 RCs Not Addressed
Groups: php.dev 
Request: Send a blank email to php-dev+get-88136@lists.php.net to get a copy of this message
The leak that was referred to in the Zend PHP Weekly Summary last week: "BUG: COM leak in 4.2.3 RC 1 Michael Sisolak let the list know that the COM extension is leaking memory in the 4.2.3 Release Candidate. He ahs pointed out a fix which will be included for the final version." was not addressed before release. The released version of 4.2.3 has the same memory leak issue when property values are set on a COM object that was reported about RC1 and RC2. This leak does not occur in version 4.2.2. I've opened a new bug report (#19342) on this: "There appears to be a memory leak when setting a property value of a COM object in 4.2.3. 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? Does doing the FREE_VARIANT version cause some other issue?" Michael Sisolak msisolak@yahoo.com __________________________________________________ Yahoo! - We Remember 9-11: A tribute to the more than 3,000 lives lost http://dir.remember.yahoo.com/tribute

« previous php.dev (#88136) next »