3.2.3.3 Portable Memory Allocation

More care is needed when allocating memory in code intended to run on both GNU and non-GNU systems, or when a non-GNU replacement allocator is used (see Replacing malloc). When storage size is small or outlandishly large, or when storage is allocated for a less-common type, the POSIX and ISO C standards permit multiple behaviors.