我实际上正在对我的应用程序进行一些更改,而klocwork一直抱怨我一个问题:
我有一个结构,比如说
Struct A
{
long x;
bool b;
}
我有一个指针,它被赋予另一个函数的返回值:
A* z= (A*) function.get();
if(!z->x)
{
z->x= somevalue;
}
klocwork始终指向if(!z->x)
,表示z被明确解除引用。
虽然我的应用程序现在运行正常,但它将来会以一种激烈的方式影响我的应用程序吗?
答案 0 :(得分:1)
在引用z并检查z-> x之前,您需要先检查z是否为非空。
if(z && !z->k)
...