Problemas al liberar memoria ( free) muy raro

Laura
15 de Diciembre del 2003
Hola

Estoy implementando una práctica en C y tengo el siguiente problema:
Tengo implementada una pila dinámica. Para crear un nodo hago un malloc del tamaño de tipo_nodo y apunto los punteros donde deben (esta parte está bien seguro). El problema viene a la hora de sacar un elemento de la pila. Lo que hago es sacar el nodo, apuntar los punteros donde deben y, por último libero la memoria ocupada por este elemento (free(nodo);). El problema viene en que la función se queda a veces (1 de cada 500 veces) en dicho free, sin dar problemas de violación de segmento ni nada de eso.

La implementación la estoy realizando bajo Linux. Si alguien sabe como solucionarlo o tiene idea de como solucionar el problema le estaría muy agradecida.

Gracias y un saludito :)