Skip to main content

SA0039:nullポインタの逆参照の可能性

nullポインタが逆参照される可能性のあるコードを決定します。

正当性: ポインターは、各逆参照の前にチェックして、ゼロに等しくないことを確認する必要があります。そうしないと、実行時にアクセス違反が発生する可能性があります。

重要性:高い

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: NULL ポインターの参照 'ptiVar2^' の可能性があります

  • sa_icon_message.png SA0039: NULL ポインターの参照 'ptiVar3^' の可能性があります