[PATCH 1/2] xfree86: fix a memory leak in edidMakeAtom().
Alex Deucher
alexdeucher at gmail.com
Thu Jul 11 15:27:14 PDT 2013
On Thu, Jul 11, 2013 at 6:02 PM, Julien Cristau <jcristau at debian.org> wrote:
> On Mon, Jun 17, 2013 at 12:39:20 -0400, alexdeucher at gmail.com wrote:
>
>> From: Leo Liu <leo.liu at amd.com>
>>
>> leak happens when looping xrandr prop.
>>
>> Signed-off-by: Leo Liu <leo.liu at amd.com>
>> ---
>> hw/xfree86/common/xf86Helper.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
>> index 721159d..bb17ecc 100644
>> --- a/hw/xfree86/common/xf86Helper.c
>> +++ b/hw/xfree86/common/xf86Helper.c
>> @@ -1813,6 +1813,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
>> }
>> else {
>> free(pNewProp->name);
>> + free(pNewProp->data);
>> existing = TRUE;
>> }
>>
> AFAICT xf86RegisterRootWindowProperty can be called with non-malloc
> 'value' (e.g. for the SeatId stuff in InitOutput, although that's only
> for serverGeneration == 1). Is there any way to make this a little more
> obviously correct?
How about:
else {
free(pNewProp->name);
+ if(pNewProp->data)
+ free(pNewProp->data);
existing = TRUE;
>
> Cheers,
> Julien
More information about the xorg-devel
mailing list