我使用SonarQube(5.1和cppecheck 1.70)来分析C代码.
在下面的示例中,有一个空指针解引用问题应由SonarQube和/或Cppcheck(由Sonar使用)检测.但是没有问题,SonarQube发现了Cppcheck的支持.
struct s1
{
char c1;
char c2;
};
struct s1 * toto1(void)
{
return NULL;
}
void toto2(void)
{
struct s1* my_st=NULL;
my_st = toto1();
my_st->c1 = 1;
my_st->c2 = 0;
return;
}
在这种情况下,这个规则是否有任何限制(不应该取消引用空指针)?
最佳答案 我是Cppcheck开发人员.
我很惊讶Cppcheck没有发现这一点.
我在上游创建了这张票:
http://trac.cppcheck.net/ticket/7132
谢谢!如果你发现更多的漏报,请告诉我.