SA0039:可能的空指针引用
检测可能取消引用空指针的代码位置
理由:在每次取消引用之前应检查指针以确保它不等于零。否则,运行时可能会发生访问冲突。
重要性:高
例 114. 例子
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:可能的空指针引用“ptiVar2^”
SA0039:可能的空指针引用“ptiVar3^”