Aggiungo qualche altra considerazione, l'ultima realloc() nella funzione fillS() è praticamente inutile, e soprattutto non vedo nessuna chiamata alla funzione free() per liberare la memoria allocata.