Come condizione di uscita nel while devi mettere pointer->next != NULL, così sei sicuro di essere all'ultimo elemento (NULL è "oltre" l'ultimo)...