操作系统所使用的缓冲区,又被称为“堆栈”,在各个操作进程之间,指令会被临时储存在“堆栈”当中,“堆栈”也会出现缓冲区溢出。我们在echo函数示例中看到,当访问缓冲区越界时,会破坏程序的运行状态。其思想是在栈帧中任何局部缓冲区与栈状态之间存储一个特殊的金丝雀值,如下图所示:
操作系统所使用的缓冲区,又被称为“堆栈”,在各个操作进程之间,指令会被临时储存在“堆栈”当中,“堆栈”也会出现缓冲区溢出。我们在echo函数示例中看到,当访问缓冲区越界时,会破坏程序的运行状态。其思想是在栈帧中任何局部缓冲区与栈状态之间存储一个特殊的金丝雀值,如下图所示: