If you decide carte blanche “0xbadbeef” must be an invalid pointer you’ve literally just made large allocations impossible on 32 bit machines by fracturing the address space.