栈溢出和缓冲区溢出有什么区别?

81

在编程中,堆栈溢出和缓冲区溢出有什么区别?


15
有趣的是,栈溢出是缓冲区溢出的一种特殊情况。:hmm: - Sam Harwell
12
"he he .. Stack Overflow指的是一个网站,Buffer Overflow不是..." - Xinus
1
@Spencer Ruport 这个为什么会在元数据上呢? - orokusaki
11个回答

0
大多数提到缓冲区溢出的人指的是堆栈溢出。然而,溢出可能发生在任何区域,不仅限于堆栈。例如堆或BSS。堆栈溢出仅限于覆盖堆栈上的返回地址,但不覆盖返回地址的正常溢出可能会覆盖其他本地变量。

局部变量通常也存储在堆栈上,对吗? - Flexo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接