tree 178c8c179915e61f2afd5d811d6154f832fe986d
parent 7430d2335826665099398ce289a870f9d4b73516
author Gilles Peskine <Gilles.Peskine@arm.com> 1568739878 +0200
committer Gilles Peskine <Gilles.Peskine@arm.com> 1569844692 +0200

Add a test component with malloc(0) returning NULL

Exercise the library functions with calloc returning NULL for a size
of 0. Make this a separate job with UBSan (and ASan) to detect
places where we try to dereference the result of calloc(0) or to do
things like

    buf = calloc(size, 1);
    if (buf == NULL && size != 0) return INSUFFICIENT_MEMORY;
    memcpy(buf, source, size);

which has undefined behavior when buf is NULL at the memcpy call even
if size is 0.

This is needed because other test components jobs either use the system
malloc which returns non-NULL on Linux and FreeBSD, or the
memory_buffer_alloc malloc which returns NULL but does not give as
useful feedback with ASan (because the whole heap is a single C
object).
