XORG_CHECK_MALLOC_ZERO: stop testing malloc, assume the worst

Alan Coopersmith alan.coopersmith at oracle.com
Thu Oct 24 22:14:01 UTC 2024


After a recent conversation on Mastodon about how checking if a malloc()
implementation returns NULL for malloc(0) at build time can give different
answers than you may get at runtime if an application or LD_PRELOAD has
interposed a different malloc implementation, I wrote a patch to our
autoconf macros to stop checking and instead always assume we need to
handle that case:

https://gitlab.freedesktop.org/xorg/util/macros/-/merge_requests/9

It's been sitting in gitlab for 2 weeks without comment - I figured I'd
give a larger audience a chance to chime in before I go ahead and merge
it - but if I don't hear anything soon, I'll do just that.

(Mainly this makes code like libX11 define malloc wrapper macros such as:
# define Xmalloc(size) malloc((size_t)((size) == 0 ? 1 : (size)))
which the compiler can hopefully optimize down to a simple malloc(size)
for most calls when the value is known to be non-zero at compile time.)

-- 
         -Alan Coopersmith-                 alan.coopersmith at oracle.com
          Oracle Solaris Engineering - https://blogs.oracle.com/solaris



More information about the xorg-devel mailing list