Visící ukazatel nebo visící reference ( ang. Dangling pointer , wild pointer , dangling reference ) je ukazatel , který neukazuje na platný objekt odpovídajícího typu. Toto je zvláštní případ porušení zabezpečení paměti.
Visící ukazatele nastanou, když je objekt odstraněn nebo přesunut, aniž by se změnila hodnota ukazatele na null, takže ukazatel stále ukazuje na paměťové místo, kde byla data dříve uložena. Protože systém může přerozdělit dříve uvolněnou paměť (včetně jiného procesu), může nefunkční ukazatel vést k nepředvídatelnému chování programu. Když program zapisuje data do paměti pomocí takového ukazatele, data mohou být tiše poškozena, což vede k jemným chybám, které je velmi těžké najít.
Tento druh chyby je velmi nebezpečný a spolu s úniky paměti k nim dochází poměrně často.
Řada jazyků snižuje možnost visících ukazatelů, zejména pomocí automatického shromažďování odpadu [1] nebo jiných metod [2] ke zlepšení zabezpečení přístupu do paměti .