Nobody’s perfect. Particularly not programmers. Some days, we spend half our time fixing mistakes we made in the other half. And that’s when we’re lucky: often, a subtle bug escapes unnoticed into the wild, and we only learn of it after a monumental catastrophe.
more here.........http://crypto.stanford.edu/~blynn/rop/
more here.........http://crypto.stanford.edu/~blynn/rop/