检测空指针可能被取消引用的代码位置
理由每次取消引用前都应检查指针,确保它不等于零。否则,运行时可能会出现访问违规。
重要性:高
示例
PROGRAM PLC_PRG VAR ptiVar1:POINTER TO INT; ptiVar2:POINTER TO INT; ptiVar3:POINTER TO INT; iVar:INT; iCount :INT; iCondition: INT; END_VAR iCount := iCount + INT#1; ptiVar1 := ADR(iVar); ptiVar1^ := iCondition; // OK - valid reference ptiVar2^ := iCondition; // SA0039 - null pointer dereferenciation iVar := ptiVar3^; // SA0039 - null pointer dereferenciation --> SA0039: Possible null pointer dereference 'ptiVar2^' --> SA0039: Possible null pointer dereference 'ptiVar3^'