[Wine] Re: Page Fault With Freetype calls

Zach Lawson zlawson at slgl.com
Wed Nov 16 13:25:13 CST 2005


Hot!

It works like a champ!

Lemmie know what else I should be doing. For now, I'm just running  
with a patched gdi dll...

Thanks again,

-Zach
On Nov 16, 2005, at 1:31 PM, Zach Lawson wrote:

> Great!
>
> I'll get to work on testing out this patch, and let you know what I  
> come up with.
>
> Thanks again for the help!
>
> -Zach
> On Nov 16, 2005, at 1:15 PM, Rein Klazes wrote:
>
>> On Wed, 16 Nov 2005 09:05:45 -0500, in gmane.comp.emulators.wine.user
>> you wrote:
>>
>>> The aforementioned 200 lines before the exception:
>>
>> Thanks, that is enough. Here is an explanation and a patch cc 'd  
>> to the
>> patches list for inclusion in Wine. It would be nice if you could  
>> test
>> the patch (you need to compile wine from source for that).
>>
>> The programs does:
>> - call GetFontData with buffer size zero, to return the required  
>> buffer
>> size;
>> - do that for a number of font tables, adding the required sizes;;
>> - allocate a buffer large enough to store the data from all the
>> GetFontData calls;
>> - then filling the buffer with GetFontData calls, using the return  
>> value
>> of the call to calculate the remaining free size.
>>
>> size=0
>> size = size + GetFontData(..., NULL, 0);
>> ...
>> size = size + GetFontData(..., NULL, 0);
>> buf = VirtualAlloc( ..., size, ...);
>> ret = GetFontData(..., buf, size);
>> size = size - ret;
>> buf = size + ret;
>> ret = GetFontData(..., buf, size);
>>
>> Here it goes wrong because Wine's GetFontData is not returning the
>> actual size of the data put in the buffer, but the buffer size it  
>> self.
>> The pointer to the buffer data is now pointing beyond the  
>> boundary. It
>> does not go wrong immediately because size is zero now, but at the
>> following GetFontData call the page fault is inevitable.
>>
>> Changelog:
>> dlls/gdi	: font.c
>> Make GetFontData return the actual number of bytes put in the buffer.
>>
>> Rein.
>> <getfontdata.diff>
>
>
> _______________________________________________
> wine-users mailing list
> wine-users at winehq.org
> http://www.winehq.org/mailman/listinfo/wine-users
>




More information about the wine-users mailing list