malloc(0)
malloc(0)
Posted May 28, 2026 11:13 UTC (Thu) by alx.manpages (subscriber, #145117)In reply to: malloc(0) by NYKevin
Parent article: Handling argc==0 in the kernel
This is not correct. You're allowed to do pointer arithmetic on malloc(0) if and only if it returns a non-null pointer. p+0 is valid for any non-NULL p, but NULL+0 has undefined behavior. This limitation of NULL pointers was lifted recently (ISO C2y), but historically it was UB; also, that change might have unexpected consequences, such as lower quality of static analysis, so I suggest not relying too much on it.
P.S.: Sorry for resurrecting this. I was researching the guarantees on argv[0] and read this incorrect statement by chance.
