Por favor usa las etiquetas de código la próxima vez (que para eso están)
¿Esto no te da ningún error en ejecución? No veo mucho sentido liberar siempre el mismo elemento. Fíjate que cima siempre tiene el mismo valor dentro del bucle
while. Supongo que lo que quieres quitar es el elemento que estás mostrando. Si no, no me explico qué pretendes con ese
free.