Clang 的 scan-build 报告了我的项目中很多空指针的取消引用,但是,我真的没有看到任何异常行为(在使用它的 6 年中),即:
Dereference of null pointer (loaded from variable chan)
char *tmp;
CList *chan = NULL;
/* This is weird because chan is set via do_lookup so why could it be NULL? */
chan = do_lookup(who, me, UNLINK);
if (chan)
tmp = do_lookup2(you,me,0);
prot(get_sec_var(chan->zsets));
^^^^
我知道 null derefs 会导致崩溃,但这真的是一个很大的安全问题,因为有些人认为它是?在这种情况下我该怎么办?