Skip to main content

SA0017 : Affectation inhabituelle à une variable de pointeur

Détecte les affectations à des pointeurs qui ne sont ni des adresses (ADR opérateur, variables de pointeur) ni constantes 0

Justification : Si un pointeur se voit attribuer une valeur qui n'est pas une adresse valide, alors le déréférencement du pointeur conduit à une "exception de violation d'accès".

Importance : Élevée

Exemple 30. Exemple
PROGRAM PLC_PRG
VAR
    pInt : POINTER TO INT;
    dwAddress : DWORD;
END_VAR
dwAddress := dwAddress + DWORD#1;
pInt := dwAddress; // SA0017

Sortie dans le messages voir:

  • sa_icon_message.png SA0017 : Affectation inhabituelle à une variable de pointeur