Skip to main content

Vad är en dinglande pekare?

En dinglande pekare är en programmeringsfel som förekommer i objektorienterad kodning när ett pekarobjekt pekar på ett annat objekt som inte längre finns.I det här fallet är en pekare inte en muspekare utan en pekarobjekt som är avsedd att skicka användaren till ett annat objekt.Denna brist skapar subtila buggar som kan bli värre med tiden och också ger ett säkerhetsproblem som skickliga hackare kan attackera.En dinglande pekare inträffar när en programmerare raderar objektet som pekas på men inte raderar pekaren själv.

I objektorienterad kodning, där kodning är separerad i objekt, finns det en instans som kallas en pekare.Pekarinstansen placeras någonstans i programmet, vanligtvis i en meny, och leder användaren till ett annat objekt.Till exempel, om användaren belyser ett avsnitt i en meny, en annan meny mdash;en rullgardinsmenyn mdash;visas.Detta gör att programmeraren kan ställa in flera objekt i ett avsnitt utan att tränga i avsnittet

Det dinglande pekfelet manifesteras när en programmerare raderar objektet som pekas på.Om programmeraren också raderar pekarinstansen kommer det inte att vara några problem.Om programmeraren glömmer och håller pekaren i kodningen, skapar detta en dinglande pekare och presenterar både kvalitets- och säkerhetsproblem.

När det gäller kvalitet ser en dinglande pekare slarvig ut och skapar subtila buggar.Detta beror på att programmet inte vet hur man ska agera, eftersom det får höra att göra något men inte kan för att objektet är borta.Denna lag skapar slumpmässig kod eller försämrar koden på små, subtila sätt som är svåra att upptäcka.Dessa buggar kan vara så små som att programmet rör sig lite långsammare men kan så småningom göra programmet mdash;och till och med datorn mdash;icke-fungerande.

De flesta program med dinglande pekare kommer att arbeta initialt och kan fortsätta arbeta i månader eller till och med år innan felen blir uppenbara.Även program som gör beräkningar, vilket innebär att den dinglande pekaren finns i formeln, kan fortfarande kunna göra enkla beräkningar.Detta är en av anledningarna till att hitta dinglande pekare kan vara så svårt.

Fram till 2007 skapade den dinglande pekaren bara säkerhetsfrågor i teorin.Watchfire Programvaruföretaget gjorde sedan ett program som visade hur dinglande pekare kan utnyttjas, vilket gjorde säkerhetsrisken till verklighet.Hackare kan infiltrera ett program via detta fel och kan injicera sin egen kod i det felaktiga programmet.