堆栈缓冲区溢出会导致堆损坏吗?
Posted
技术标签:
【中文标题】堆栈缓冲区溢出会导致堆损坏吗?【英文标题】:Can stack buffer overflows cause heap corruption? 【发布时间】:2014-03-29 18:48:00 【问题描述】:堆栈缓冲区溢出是否可能导致堆损坏问题而不会溢出返回地址?如果有,你能举个例子吗?
【问题讨论】:
哪种语言?哪个平台? 【参考方案1】:是否会导致堆损坏很大程度上取决于平台。
但是,例如,缓冲区溢出会覆盖指针变量,以便它获得一个恰好是不同但有效指针的新值。如果代码然后继续释放所述指针(不知道它现在是别的东西),那么引用该指针的代码可能会崩溃或行为异常,因为内存已被过早释放并可能重新分配用于不同的目的。
【讨论】:
很好的答案!谢谢! 我见过这样的情况,当this
指针从保留调用的寄存器溢出到堆栈,然后堆栈被覆盖。以上是关于堆栈缓冲区溢出会导致堆损坏吗?的主要内容,如果未能解决你的问题,请参考以下文章