Coverity静态分析器报告的问题是否可以在Flex生成的扫描程序文件中忽略
我正在我的项目上运行Coverity静态分析器工具,它有一些flex/bison生成的cpp文件。Coverity正在其中一个flex文件上报告以下警告Coverity静态分析器报告的问题是否可以在Flex生成的扫描程序文件中忽略,coverity,Coverity,我正在我的项目上运行Coverity静态分析器工具,它有一些flex/bison生成的cpp文件。Coverity正在其中一个flex文件上报告以下警告 CID 340350 (#1 of 1): Dereference before null check (REVERSE_INULL) check_after_deref: Null-checking **yyg->yy_buffer_stack** 表示它可能为null,但它已在通向检查的所有路径上解除引用 Coverity报告问题的
CID 340350 (#1 of 1): Dereference before null check (REVERSE_INULL)
check_after_deref: Null-checking **yyg->yy_buffer_stack**
表示它可能为null,但它已在通向检查的所有路径上解除引用
Coverity报告问题的flex生成文件的代码片段:
if (YY_CURRENT_BUFFER) {
DNParser_load_buffer_state(yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1;
}
}
有两种可能性-要么它可以为NULL,在这种情况下,指针在到达检查之前就已经被取消引用,因此存在错误,要么检查是没有意义的过度防御性编码 由于它是生成的代码,我倾向于忽略缺陷,除非您认为它实际上可以为NULL