[2/2]dwrite: basic implementation for FontCollectionLoader registration
Aric Stewart
aric at codeweavers.com
Mon Aug 4 08:18:18 CDT 2014
On 8/1/14, 12:28 PM, Piotr Caban wrote:
> On 8/1/14 12:01 PM, Aric Stewart wrote:
>> + if (i == This->CollectionLoaderCount)
>> + {
>> + This->CollectionLoaderCount++;
>> + if (This->CollectionLoaders)
>> + This->CollectionLoaders = heap_realloc(This->CollectionLoaders, This->CollectionLoaderCount * sizeof(IDWriteFontCollectionLoader*));
>> + else
>> + This->CollectionLoaders = heap_alloc(This->CollectionLoaderCount * sizeof(IDWriteFontCollectionLoader*));
>> + if (!This->CollectionLoaders)
>> + return E_OUTOFMEMORY;
>> + }
> There's a leak in out of memory case. Isn't it better to grow the buffer exponentially?
I do not think a given application will be registering very many of these. No experience yet but I would be surprised at more than 2. So I am not sure if exponential is the right course. But it is an easy change.
Maybe i have been spending too much time out of C recently, but I am totally failing to see the leak. Other than the face that our loader object will be in a corrupt state, I can fix the corrupt state but I am not sure if that would be fixing the memory leak you see.
-aric
More information about the wine-devel
mailing list