Annex F (informative) Core undefined behavior [ub]

F.2 [basic]: Basics [ub.basic]

F.2.17[ub:basic.stc.alloc.zero.dereference]

The pointer returned when invoking an allocation function with a size of zero cannot be dereferenced.
[Example 1: void test() { char* c = static_cast<char*>(operator new(0z)); c[0] = 'X'; // undefined behavior } — end example]