On Thu, Jul 11, 2013 at 6:02 PM, Julien Cristau <[email protected]> wrote:
> On Mon, Jun 17, 2013 at 12:39:20 -0400, [email protected] wrote:
>
>> From: Leo Liu <[email protected]>
>>
>> leak happens when looping xrandr prop.
>>
>> Signed-off-by: Leo Liu <[email protected]>
>> ---
>>  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
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to