Vad är en dinglande pekare?
En dinglande pekare är en programmeringsfel som uppstår i objektorienterad kodning när ett pekarobjekt pekar på ett annat objekt som inte längre finns. I detta fall är en pekare inte en muspekare utan ett pekarobjekt som är avsett att skicka användaren till ett annat objekt. Denna brist skapar subtila buggar som kan bli värre med tiden och presenterar också ett säkerhetsproblem som duktiga hackare kan attackera. En dinglande pekare händer när en programmerare raderar objektet som pekas på men inte raderar pekaren själv.
I objektorienterad kodning, där kodningen är uppdelad 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. Om användaren till exempel markerar ett avsnitt i en meny visas en annan meny - en rullgardinsmeny. Detta gör att programmeraren kan ställa in flera objekt i ett avsnitt utan att tränga i sektionen.
Det dinglande pekarfelet visar sig när en programmerare raderar objektet som pekas på. Om programmeraren också raderar pekarinstansen finns det inga 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 och skapar subtila buggar. Detta beror på att programmet inte vet hur man ska agera, eftersom det sägs att göra något men inte kan för att objektet är borta. Denna handling 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 lika små som att programmet ska gå lite långsammare men kan så småningom göra att programmet - och till och med datorn - inte fungerar.
De flesta program med dinglande pekare kommer att fungera 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 betyder att den dinglande pekaren finns i formeln, kan fortfarande kunna göra enkla beräkningar. Detta är en av orsakerna till att det kan vara så svårt att hitta dinglande pekare.
Fram till 2007 skapade den dinglande pekaren bara säkerhetsproblem i teorin. Watchfire®-programvaruföretaget skapade sedan ett program som visade hur dinglande pekare kan utnyttjas, vilket gör säkerhetsrisken till verklighet. Hackare kan infiltrera ett program via detta fel och kan injicera sin egen kod i det felaktiga programmet.