The behavior of malloc() is to return NULL when there is insufficient memory available to
allocate a buffer. From the perspective of the SayHello() function that calls malloc(),
there is no standard mechanism in C to perform a CHECK-BEFORE by seeing if memory
is available before it attempts the allocation. Thus no CHECK-BEFORE/CHECK-AFTER is