Here is a link to a number of suggestions I have compiled for hardening of firmware.
I'm pretty sure that a lot can be said about the list, so please post coding tips or links to pages with good information of software hardening.
iapetus.neab.net/.../hardening.html
Even worse.
I have been seeing a lot of people (not really a lot, but enough), who even don't know what an interrupt service routine or a Linux kernel module is, are "MODIFY"ing an interrupt service routine or a Linux kernel module.
And those people think that I (John Linq) is an idiot. (At least, they make me feel I am an idiot.)
Why so serious? It is the human society geting weaker and weaker.
(I have never worked on an area, where Human Safty is an issue that has to be concerned.)