Co je to visící ukazatel?
Houpající se ukazatel je programovací chyba, ke které dochází v objektově orientovaném kódování, když objekt ukazatele odkazuje na jiný objekt, který již neexistuje. V tomto případě ukazatel není ukazatel myši, ale objekt ukazatele, který je určen k odeslání uživatele jinému objektu. Tato chyba vytváří jemné chyby, které se mohou časem zhoršovat a také představuje bezpečnostní problém, na který mohou zkušení hackeři zaútočit. Houpající se ukazatel se stane, když programátor vymaže označený objekt, ale nevymaže samotný ukazatel.
V objektově orientovaném kódování, ve kterém je kódování rozděleno na objekty, existuje instance nazvaná ukazatel. Instance kurzoru je umístěna někde v programu, obvykle v nabídce, a vede uživatele k jinému objektu. Pokud uživatel například zvýrazní část nabídky, zobrazí se další nabídka - rozevírací nabídka. To umožňuje, aby programátor nastavil několik objektů v jedné sekci, aniž by se část přetlačila.
Chyba visícího ukazatele se projeví, když programátor vymaže objekt, na který je odkazováno. Pokud programátor také smaže instanci ukazatele, nebude to žádný problém. Pokud programátor zapomene a ponechá ukazatel v kódování, vytvoří to visící ukazatel a představuje jak problémy s kvalitou, tak bezpečí.
Pokud jde o kvalitu, visící ukazatel vypadá nedbalý a vytváří jemné chyby. Důvodem je, že program neví, jak jednat, protože mu bylo řečeno, aby něco udělal, ale nemůže, protože objekt je pryč. Tento akt vytváří náhodný kód nebo zhoršuje kód malými, jemnými způsoby, které je obtížné odhalit. Tyto chyby mohou být tak malé, že způsobí, že se program bude pohybovat trochu pomaleji, ale nakonec může způsobit, že program - a dokonce i počítač - nebude fungovat.
Většina programů s visícími ukazateli bude zpočátku fungovat a mohou pokračovat v práci měsíce nebo dokonce roky, než budou chyby zřejmé. Dokonce i programy, které provádějí výpočty, což znamená, že ve formuli je ukazatel visícího jazyka, mohou stále provádět jednoduché výpočty. To je jeden z důvodů, proč může být hledání visících ukazatelů tak obtížné.
Až do roku 2007, visící ukazatel vytvářel bezpečnostní problémy pouze teoreticky. Softwarová společnost Watchfire® poté vytvořila program, který ukázal, jak lze využít visící ukazatele, čímž se bezpečnostní riziko stává skutečností. Hackeři jsou schopni touto chybou infiltrovat program a do chybného programu mohou vložit svůj vlastní kód.