ho una lista concatenata avente come nodo radice il puntatore a struct root.
Ad un certo punto voglio eliminare tutti i nodi della lista. Attraverso quindi la combinazione di un ciclo while e della chiamata alla funzione free, elimino tutti i nodi della lista.

Alla fine di questa operazione il puntatore che ho utilizzato per la lista non punta a nulla oppure devo esplicitamente eseguire un assegnamento del tipo
codice:
root = NULL;
??

Chiedo questo perchè una volta eliminati i nodi della lista, avrei bisogno di riutilizzare il puntatore per creare nuove liste; mi sono però accorto che se non assegno NULL al puntatore il programma crasha e mi ritorna una segmentation fault.
I casi sono due: o io ho utilizzato male la free per cancellare la lista oppure la free non mi imposta il puntatore a NULL e devo farlo io esplicitamente...