Skip to main content

Co to jest wiszący wskaźnik?

Wiszący wskaźnik to wada programowania, która występuje w kodowaniu obiektowym, gdy obiekt wskaźnika wskazuje na inny obiekt, który już nie istnieje.W tym przypadku wskaźnik nie jest wskaźnikiem myszy, ale obiektem wskaźnika, który ma wysłać użytkownika do innego obiektu.Ta wada tworzy subtelne błędy, które z czasem mogą się pogorszyć, a także stanowi problem bezpieczeństwa, który wykwalifikowani hakerzy mogą atakować.Wiszący wskaźnik ma miejsce, gdy programista usuwa wskazany obiekt, ale nie usuwa samego wskaźnika.

W kodowaniu obiektowym, w którym kodowanie jest podzielone na obiekty, istnieje instancja zwana wskaźnikiem.Instancja wskaźnika jest umieszczana gdzieś w programie, zwykle w menu i prowadzi użytkownika do innego obiektu.Na przykład, jeśli użytkownik wyróżni sekcję menu, inne menu i mdash;rozwijany i mdash;pojawia się.Umożliwia to programistowi skonfigurowanie kilku obiektów w jednej sekcji bez zatłoczenia sekcji.

Wiszący błąd wskaźnika objawia się, gdy programista usuwa wskazany obiekt.Jeśli programista usuwa również instancję wskaźnika, nie będzie problemu.Jeśli programista zapomina i utrzymuje wskaźnik w kodowaniu, tworzy to zwisający wskaźnik i przedstawia zarówno kwestie jakości, jak i bezpieczeństwa.

Pod względem jakości zwisający wskaźnik wygląda niechlujnie i tworzy subtelne błędy.Wynika to z faktu, że program nie wie, jak działać, ponieważ powiedziano mu, aby coś zrobił, ale nie może, ponieważ obiekt zniknął.Niniejsza ustawa tworzy losowy kod lub pogarsza kod w mały, subtelny sposób, który trudno jest wykryć.Te błędy mogą być tak małe, aby program poruszał się nieco wolniej, ale ostatecznie mogą sprawić, że program mdash;a nawet komputer mdash;Niefunkcjonujące.

Większość programów z zwisającymi wskaźnikami będzie działać początkowo i może kontynuować pracę przez miesiące lub nawet lata, zanim błędy staną się oczywiste.Nawet programy, które tworzą obliczenia, co oznacza, że wiszący wskaźnik jest w formule, mogą nadal być w stanie tworzyć proste obliczenia.Jest to jeden z powodów, dla których znalezienie wiszących wskazówek może być tak trudne.

Do 2007 r. Wiszący wskaźnik stworzył teoretycznie tylko problemy bezpieczeństwa.Watchfire Następnie firma programistyczna stworzyła program, który pokazał, jak można wykorzystać zwisające wskaźniki, co sprawia, że ryzyko bezpieczeństwa staje się rzeczywistością.Hakerzy mogą infiltrować program za pośrednictwem tego błędu i mogą wstrzykiwać własny kod do wadliwego programu.