Lógó mutató

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. szeptember 5-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

A lógó mutató vagy lógó hivatkozás ( angol.  Dangling pointer , wild pointer , dangling reference ) olyan mutató , amely nem a megfelelő típusú érvényes objektumra mutat. Ez a memóriabiztonság megsértésének speciális esete.

Lógó mutatók akkor fordulnak elő, ha egy objektumot törölnek vagy áthelyeznek anélkül, hogy a mutató értékét nullára változtatnák, így a mutató továbbra is arra a memóriahelyre mutat, ahol az adatokat korábban tárolták. Mivel a rendszer át tudja osztani a korábban felszabaduló memóriát (beleértve egy másik folyamatot is), a törött mutató kiszámíthatatlan programviselkedéshez vezethet. Amikor egy program adatokat ír a memóriába egy ilyen mutató segítségével, az adatok csendben megsérülhetnek, ami olyan finom hibákhoz vezethet, amelyeket nagyon nehéz megtalálni.

Ez a fajta hiba nagyon veszélyes, és a memóriaszivárgással együtt elég gyakran előfordul.

Számos nyelv csökkenti a mutató lógásának esélyét, különösen az automatikus szemétgyűjtés [1] vagy más módszerek [2] használatával a memória-hozzáférés biztonságának javítása érdekében .

Jegyzetek

  1. Automatikus referenciaszámlálás iOS rendszeren | Dr Dobb's (nem elérhető link) . Letöltve: 2016. szeptember 17. Az eredetiből archiválva : 2012. augusztus 16.. 
  2. https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html Archiválva : 2018. április 30., a Wayback Machine „Rust. Az összes alapnyelv törődik a .. Null vagy lógó mutatók hivatkozásának megszüntetésével»

Linkek