缓冲区溢出的意思:
过程调用存在栈里,写入一个数量很大的数组,由于数组的地址为增加方向,而栈指针是减少方向,C语言不做越界检查,容易使数组覆盖函数的返回地址,基址寄存器等内容,导致程序出错。
例如:
在被调用的过程中,声明一个数组100元素的数组,赋值时却赋值了 200个,由于C语言没有越界检查,将使其覆盖调用过程在内存中的代码,这样使得程序出错。
缓冲区溢出的意思:
过程调用存在栈里,写入一个数量很大的数组,由于数组的地址为增加方向,而栈指针是减少方向,C语言不做越界检查,容易使数组覆盖函数的返回地址,基址寄存器等内容,导致程序出错。
例如:
在被调用的过程中,声明一个数组100元素的数组,赋值时却赋值了 200个,由于C语言没有越界检查,将使其覆盖调用过程在内存中的代码,这样使得程序出错。