4内存安全课案.ppt

2.2.3 解决方案 整数溢出是非常危险的,部分原因是因为它在发生后不可能被发现,也就是说,一个整数溢出发生了,应用程序并不知道它的计算是错误的。因此应用程序在假定它是正确的情况下,会继续运行下去。在安全的系统中,这种结果具有巨大的危害,有时甚至能够造成系统崩溃。 解决整数溢出的方案,主要是编程之前必须进行详细的预测,多考虑一些问题, 在编程时将各种问题考虑到并且进行相应的处理。如: 充分考虑各种数据的取值范围,使用合适的数据类型; 尽量不要在不同范围的数据类型之间进行赋值;等等。 2.3 数组和字符串问题 2.3.1 数组下标问题 数组下标问题,本质上也是属于缓冲区溢出问题。在本章的第一节,讲述的字符串缓冲区溢出,实际上字符串就是一个字符数组。除了字符数组,其它数组也会遇到类似的问题吗?答案是肯定的。本部分将以整数数组为例,来讲述数组下标引起的缓冲区溢出问题。 例子: P02_13.c #include stdio.h #include stdlib.h int Array[10]; void InsertInt(int index,int value) { Array[index]=value; printf(将值%d存入Array[%d]\n,index,value); } int main(int argc,char *argv[]) {

文档评论(0)

1亿VIP精品文档

相关文档