It depends on your system. Formally, access beyond undefined access. In a modern general-purpose system, each user process has its own address space, and one process cannot change or even read another process (prohibiting shared memory), therefore, if you do not use it by writing kernel code, you cannot break anything outside your own process (and non-kernel code usually cannot do physical IO, so I donβt see how something in the hardware can break).
If you write kernel code or work on an embedded processor without converting or protecting memory, you can literally destroy hardware outside of the write; if the program controlling something like a nuclear power plant, you can even destroy a lot more than just the machine your code is running on.
source share