En programación, si una estructura en el heap (lugar de donde se asigna memoria) es destruida antes de que todas las referencias (los apuntadores) a la misma sean destruidas, cualquier referencia restante se llama referencia colgante (Dangling Reference).
Lenguajes como C detectan en tiempo de ejecución estas referencias y anuncian un error.
Existen métodos para detectar estas referencias implementando un contador de referencias o un trazador de alcance en los lenguajes de programación que usan recolectores de basura.
Ejemplo
#include <stdlib.h> { char *cp = malloc ( A_CONST ); /* cp apunta al espacio reservado en el heap A_CONST */ /*... */ free ( cp ); /* libero el espacio reservado, ahora cp es una referencia colgante */ cp = NULL; /* cp deja de ser una referencia colgante, puesto que ya no apunta a ningún sitio */ /*... */ }
Enlaces externos Pointers and Arrays (C99) Topics on Pointers and Arrays Dangling Pointer New Hacking Technique (Security)
Categoría:Errores de software