Buf, buf, buf...
Así a ojo veo cosas que me asustan.
"estado" es un array [8] de la estructura Arriendo.
¡Y vas y haces esto!
¡Lo liberas! Y luego peor aun vas y:
Código:
strcpy(Modificar->estado,"Vencido");
¡Rellenas la memoria que acabas de liberar!
Por favor, no estás entendiendo lo que haces. Relee tus apuntes/tutorial/lo que tengas a mano porque estás haciéndolo a ciegas.