我正在阅读Code Complete 2,我在错误处理中遇到了这个语句:
调用错误处理例程/对象。另一种方法是将错误处理集中在全局错误处理例程或错误处理对象中。这种方法的优点是可以集中处理错误的责任,这可以使调试更容易。折衷方案是整个程序将了解此核心功能并将其耦合。如果您想在另一个系统中重用系统中的任何代码,则必须将错误处理机制与您重用的代码一起拖动。
后来它说:
这种方法具有重要的安全含义。如果您的代码遇到缓冲区溢出,则攻击者可能已经破坏了处理程序例程或对象的地址。因此,一旦在应用程序运行时发生缓冲区溢出,使用这种方法就不再安全。
但我无法真正理解上面的陈述。缓冲区溢出如何导致地址受损?