Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Definitely not true. Consider an IoT device without an MMU.


Most of the ones of those I am familiar with had 0 as a non-writable address, so you'd still crash. [Edit: Though that's probably hardware specific, and the hardware was usually custom.] It might be called "bus error" or some such instead of "segfault", but it was pretty much the same behavior.


Plenty of microcontrollers have a vector table at address 0. Best place to start injecting code.


Sure. The 68000 series did. But address 0 held the starting program counter, and address 4 held the starting stack pointer (or vice versa - it's been a while). Those two were usually mapped to ROM, because they had to have the right values even on cold boot. But that also meant that they weren't writable. So if you had a null pointer, you could read through it, but an attempt to write through it would give you a bus error.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: