我使用 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 http://trac.cppcheck.net/ticket/7132
谢谢你!如果您发现更多漏报,请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)