漏洞概述 该提交修复了 函数中存在的堆损坏(Heap Corruption)漏洞。主要风险点包括: 1. 空指针解引用:代码未检查 是否为 NULL,可能导致崩溃。 2. 整数溢出:在计算 时缺乏溢出保护,可能导致堆缓冲区溢出。 3. 缓冲区越界/逻辑错误:未检查 (哈希长度)是否过小(小于4),未检查 是否小于 ,未检查 是否超出 范围。 4. 未初始化内存: 数组在使用前未进行清零操作,可能导致信息泄露或逻辑错误。 影响范围 文件: 函数: (用于计算PE文件的页面哈希) 修复方案 1. 增加空指针检查:在原有的 和 检查基础上,增加了对 的 NULL 检查。 2. 变量初始化:显式初始化 为 ,并转换为 类型。 3. 防止整数溢出:在乘法运算前增加检查 ,防止溢出。 4. 增加边界与逻辑检查: 增加 检查。 增加 检查。 增加 检查。 5. 内存初始化:在使用 数组前,增加 进行清零。 6. 完善循环与写入逻辑**:增加了 循环处理,并增加了对 和 写入操作返回值的检查。