Nothing is assumed: all error states are accounted for and handled. Programmers never assume a given function call or library will work as promised, and so handle it in the code. In contrast, in normal programming practices, many such assumptions are made.
In secure programming (synonym: defensive programming), the goal is to ensure continuing function of software despite any and all unforeseen use(s). This may be viewed as reducing or eliminating the prospect of Murphy's Law working. It is most valuable when software can be misused accidently or intentionally, to catastrophic effect.
Growing article, with links to many related topics. [Wikipedia]
Secure Programming for Linux and Unix Howto
Design and implementation guidelines for writing secure programs for POSIX operating systems.
Secure Programming Techniques
First installment in multipart series of excerpts from Practical Unix and Internet Security, 3rd Edition; tips and general design principles to code by to avoid security-related bugs. O'Reilly Media.
Last update:December 3, 2013 at 8:05:06 UTC