Michel Dänzer wrote:
> On Mon, 2008-11-10 at 10:26 +0100, [EMAIL PROTECTED] wrote:
>> Hello,
>>
>> I found an uninitialized memory in mesa dri that leads to a segfault,
>> yet I do not know how or if to file a bugreport.
>>
>> I tried to play AlienArena2008 (v7.20) and it segfaulted. By running
>> it in gdb I noticed the segfault happens in driReportDamage,
>> dri_util.c:438 of Mesa 7.2. . There is a line
>> "(*psp->damage->reportDamage)(...);" which makes a call to a function
>> pointer. By looking at the variables, I noticed that "psp->damage" has
>> nonsense-values. psp->damage is neither zero nor pointing to valid
>> memory (debuger tells me *psp->damage: memory not accessable). It
>> looks like uninitialized memory and obviously leads to the segfault.
>> AFAICS the relevant structure is created in function
>> driCreateNewScreen() (in dri_util.c:833). Memory is allocated there
>> and then part of the structure is initialzed, but psp->damage is
>> obviously not initialized.
>>
>> I patched that part of the driver so that the whole structure is
>> initialized with zeros (before any other inits). After building and
>> installing mesa again, the segfault in Mesa is gone and I could play
>> AlienArena.
>>
>>
>> So, is this a bug in mesa or am I just using an invalid configuration
>> (e.g. old xserver) ?
>>
>> System configuration: 
>> - debian etch
>> - lspci|grep Display
>>   06:00.1 Display controller: ATI Technologies Inc RV370 [Radeon
>> X300SE]
>> - dpkg -l xserver-xorg
>>   xserver-xorg   7.1.0-19
>> - self-compiled drm from current git
>> - self-compiled mesa 7.2
>>
>> If it is a bug, is my fix the correct solution ?
> 
> I think it is, though you could just use _mesa_calloc() instead of
> _mesa_malloc() and memset().

Right.  I've committed the change.

-Brian


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to