Ce este un indicator care atârnă?

Un pointer atârnând este un defect de programare care apare în codarea orientată pe obiecte când un obiect indicator indică un alt obiect care nu mai există. În acest caz, un pointer nu este un indicator al mouse-ului, ci un obiect indicator care este destinat să trimită utilizatorul către un alt obiect. Acest defect creează erori subtile care se pot agrava cu timpul și, de asemenea, prezintă o problemă de securitate pe care hackerii calificați o pot ataca. Un indicator suspendat apare atunci când un programator șterge obiectul spre care este indicat, dar nu șterge indicatorul în sine.

În codarea orientată pe obiecte, în care codarea este separată în obiecte, există o instanță numită pointer. Instanța pointerului este plasată undeva în program, de obicei într-un meniu, și conduce utilizatorul la un alt obiect. De exemplu, dacă utilizatorul evidențiază o secțiune a unui meniu, apare un alt meniu – un meniu derulant. Acest lucru permite programatorului să configureze mai multe obiecte într-o secțiune fără a aglomera secțiunea.

Eroarea indicatorului suspendat se manifestă atunci când un programator șterge obiectul către care este indicat. Dacă programatorul șterge și instanța pointerului, nu va fi nicio problemă. Dacă programatorul uită și păstrează indicatorul în codificare, acesta creează un indicator suspendat și prezintă atât probleme de calitate, cât și de siguranță.

În ceea ce privește calitatea, un indicator care atârnă arată neglijent și creează bug-uri subtile. Acest lucru se datorează faptului că programul nu știe cum să acționeze, pentru că i se spune să facă ceva, dar nu poate pentru că obiectul a dispărut. Acest act creează cod aleatoriu sau deteriorează codul în moduri mici, subtile, care sunt greu de detectat. Aceste erori pot fi la fel de mici încât să facă programul să se miște puțin mai lent, dar pot face în cele din urmă programul – și chiar computerul – să nu funcționeze.

Majoritatea programelor cu indicatori suspendați vor funcționa inițial și pot continua să funcționeze luni sau chiar ani înainte ca erorile să devină evidente. Chiar și programele care fac calcule, adică indicatorul suspendat se află în formulă, pot fi în continuare capabile să facă calcule simple. Acesta este unul dintre motivele pentru care găsirea indicatoarelor atârnate poate fi atât de dificilă.

Până în 2007, indicatorul care atârnă a creat doar probleme de siguranță în teorie. Compania de software Watchfire® a realizat apoi un program care a arătat cum pot fi exploatate indicatoarele suspendate, făcând din riscul de securitate o realitate. Hackerii sunt capabili să se infiltreze într-un program prin intermediul acestui bug și își pot injecta propriul cod în programul defecte.