代码审计--42--新篇章之C/C++代码审计(三)

本篇介绍了以下代码安全问题
1、解引用未初始化的指针
2、除数为零
3、不当的循环终止
4、参数占用空间过大
5、不当的函数类型转换
6、不当的二元运算
7、拒绝服务
8、污点数据作为循环边界
9、操纵设置
10、路径遍历
11、进程控制

1、解引用未初始化的指针

详细信息

局部的、自动变量如果未经过初始化便进行使用,可能会导致意料之外的行为。

例如,如果局部的、自动变量存储在程序栈中,它们默认值为当前存储在栈内存中的值。
另外,一些动态的内存分配方案也不会初始化被分配后的内存空间内容。

方法名 初始化
aligned_alloc() 不会初始化
calloc() 初始化为0
malloc() 不会初始化
realloc() 从源指针拷贝内容,可能会初始化

未初始化的自动变量或动态分配内存都拥有不确定的值,程序在使用这些不确定的值时可能会触发非预期的行为,甚至可能会让程序存在被恶意攻击的严重隐患。

例如:

void f

猜你喜欢

转载自blog.csdn.net/wutianxu123/article/details/103514916