我使用SonarQube(5.1与cppecheck 1.70)来分析C代码。
在以下示例中,存在Null Pointer Dereference问题,应该由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
,C++标签是可以理解的,但确实是错误的。 - MSalters