...
This code example is non-compliant on systems where size_t is an unsigned 32-bit value and long long is a 64-bit value. In this example, the programmer tests for integer overflow by comparing SIZE_MAX to length + BLOCK_HEADER_SIZE. Because length is declared as size_t, the addition is performed as a 32-bit operation and can result in an integer overflow. The comparison with SIZE_MAX in this example will always test false. If an overflow occurs, malloc() will allocate insufficient space for mBlock, which could can lead to a subsequent buffer overflow.
...