Geçici değişkenlerin (yığın üzerinde) geçici olmayan değişkenlere adres atamalarını tespit eder
Gerekçe: Bir işlevin veya yöntemin lokal değişkenleri yığın üzerinde oluşturulur ve yalnızca işlev veya yöntem işlenirken var olurlar. Yöntem veya işlev işlendikten sonra bir işaretçi bu tür bir değişkene işaret ederse, bu işaretçiyi tanımlanmamış belleğe veya başka bir işlevdeki yanlış bir değişkene erişmek için kullanabilirsiniz. Bu durumdan her ne pahasına olursa olsun kaçınılmalıdır.
Önemliymiş: Yüksek
Örnek
FUNCTION TempVarInFUNC : DWORD VAR uiTemp : UINT; END_VAR TempVarInFUNC := ADR(uiTemp); // SA0021 PROGRAM PLC_PRG VAR dwTest : DWORD; END_VAR dwTest := TempVarInFUNC(); --> SA0021: Transporting address of temporary variable to outer scope symbol
Ayrıca bakınız