已关闭
【缺陷报告】空指针解引用 - 文件test_geir_ffn_worker_batching.cpp - 函数WriteDataToFile - 行号138 #4773
zhangjunkai9创建于 8月31日关闭于 19 天前
8月31日 修改了issue 的描述
游震
9月3日 评论:
9月3日 评论:
/assign @chaotang233


9月3日 将 chaotang233 设为负责人
22 天前 关联了pull request:修复mla_preprocess使用__has_include && 修复test_geir_ffn_worker_batching.cpp空指针解引用
22 天前 关联了pull request:修复mla_preprocess使用__has_include && 修复test_geir_ffn_worker_batching.cpp空指针解引用
19 天前 关闭了 issue
19 天前 添加了label:resolved
缺陷信息
缺陷描述
函数 WriteDataToFile 在第 137 行调用 fopen 打开文件,fopen 在失败时(如路径不存在、权限不足)返回 NULL。代码未对 fp 做空指针校验,第 138 行 fwrite(inputData, ..., fp) 使用空 fp 指针,导致空指针解引用(未定义行为/崩溃)。
同类问题
{ "file": "ffn/swin_attention_ffn/examples/test_geir_swin_attention_ffn.cpp", "func": "WriteDataToFile", "line": 177, "description": "函数 WriteDataToFile 在第 176 行调用 fopen 打开文件,fopen 失败时返回 NULL。代码未对 fp 做空指针校验,第 177 行 fwrite(inputData, ..., fp) 使用空 fp 指针,导致空指针解引用。" }事实核查
数据流证据
传播路径:
调用链
可达调用链1 起点:
(entry functions)→ 终点:WriteDataToFile深度:1可达调用链2 起点:
(entry functions)→ 终点:WriteDataToFile深度:1修复建议
fp = fopen(bin_file.c_str(), "w"); if (fp == nullptr) { return FAILED; } fwrite(inputData, sizeof(uint8_t), data_size, fp); fclose(fp);