|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2002-10-02 07:19 UTC] phanto@php.net
[2003-02-25 01:57 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 02 21:00:01 2025 UTC |
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?