写栈溢出函数,堆溢出函数
写栈溢出函数,堆溢出函数
1.栈溢出
栈溢出,就是说栈的空间已经不够了。
什么时候会用到栈的空间呢?一般的指令不可能把栈搞到溢出。通常是局部变量和函数调用(函数参数和返回地址)会占用栈的空间。
栈溢出不过两种情形:如果开一个很大的局部变量,会造成栈溢出;如果函数无穷递归,也是会造成栈溢出的。
出自http://www.programlife.net/unexpected-stack-overflow.html
2.堆溢出
其实就是申请空间之后,使用这个空间使用了gets()函数,输入的数据超过了申请的空间大小,导致覆盖带其它程序的数据。