Skip to main content

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

输出在 留言 看法:

  • sa_icon_message.png SA0039:可能的空指针引用“ptiVar2^”

  • sa_icon_message.png SA0039:可能的空指针引用“ptiVar3^”