[PATCH v2 2/4] Free the data returned by XGetWindowProperty()

Jasper St. Pierre jstpierre at mecheye.net
Thu May 21 09:21:37 PDT 2015


XFree crashes when passed NULL.

On Thu, May 21, 2015 at 6:11 AM, walter harms <wharms at bfs.de> wrote:
>
>
> Am 21.05.2015 14:55, schrieb Eirik Byrkjeflot Anonsen:
>> Signed-off-by: Eirik Byrkjeflot Anonsen <eirik at eirikba.org>
>> ---
>>  xprop.c | 10 ++++++++--
>>  1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/xprop.c b/xprop.c
>> index ba23b87..4576db6 100644
>> --- a/xprop.c
>> +++ b/xprop.c
>> @@ -1442,9 +1442,15 @@ Get_Window_Property_Data_And_Type (Atom atom,
>>      unsigned long nitems;
>>      unsigned long nbytes;
>>      unsigned long bytes_after;
>> -    unsigned char *prop;
>> +    static unsigned char *prop = NULL;
>>      int status;
>> -
>> +
>> +    if (prop)
>> +    {
>> +     XFree(prop);
>> +     prop = NULL;
>> +    }
>> +
>
>
> let free() handle prop==NULL
>
> but in general the caller is responsible to free the memory
>
> re,
>  wh
>
>>      status = XGetWindowProperty(dpy, target_win, atom, 0, (max_len+3)/4,
>>                               False, AnyPropertyType, &actual_type,
>>                               &actual_format, &nitems, &bytes_after,
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel



-- 
  Jasper


More information about the xorg-devel mailing list