[PATCH 2/6] xserver: Possible memory leaks, stricter option checks, UnInit (NewInputDeviceRequest)
Alan Coopersmith
alan.coopersmith at sun.com
Fri Mar 30 10:26:34 PDT 2007
Eirik Byrkjeflot Anonsen wrote:
> Alan Coopersmith <alan.coopersmith at sun.com> writes:
>
>> Magnus Vigerlöf wrote:
>>> On Thursday 29 March 2007 04:40, Eric Anholt wrote:
>>> [...]
>>>>> I guess xfree can't handle freeing already NULL pointers? If so it
>>>>> could cleanup error paths like this a little. Looks good though.
>>>> The first thing Xfree (what xfree() is) does is check if the pointer is
>>>> null and return if so.
>>> You're right. Xfree (and free as well) does seem to handle
>>> this. However many places this check is made in the code anyway, and
>>> there's a comment complaining about this 0-pointer check in Xfree as
>>> well..
>> And ANSI C requires free(NULL) to be a safe no-op anyways, so it's not
>> needed at all on modern OS'es.
>>
>
> But I don't think xfree(NULL) is guaranteed to be safe. And I doubt
> that xfree(NULL) is specified as being "as safe as" free(NULL).
We define xfree(), so what stops us from raising xfree(NULL) from
"Undefined" to "Guaranteed safe no-op"? All we have to do is document
it - it won't break anything that works already. (If you want to
kill the process, call abort(), not Xfree(NULL) and hope it segfaults.)
--
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
More information about the xorg
mailing list