加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

当指针被另一个函数返回时,未检测到空指针解除引用问题

发布时间:2020-12-16 07:14:16 所属栏目:百科 来源:网络整理
导读:我使用SonarQube(5.1和cppecheck 1.70)来分析C代码. 在下面的示例中,有一个空指针解引用问题应由SonarQube和/或Cppcheck(由Sonar使用)检测.但是没有问题,SonarQube发现了Cppcheck的支持. struct s1{ char c1; char c2;};struct s1 * toto1(void){ return NUL
我使用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

谢谢!如果你发现更多的漏报,请告诉我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读