bhè, allora dire che il problema è sia nella funzione di lettura, nel senso che :
quindi secondo me si può modificare o come avevo proposto prima io, ovvero passando la testa per valore, e poi effettuare in return della testa al main, oppure puoi dichiarare la funzione void e passi la testa per riferimento;Se passi alla funzione il puntatore della variabile testa, di fatto restituirne poi anche il valore con la return è superfluo.
poi secondo problema, che nella funzione che ordina la lista c'è sicuro un accesso a un puntatore NULL che causa il segmentation fault, come dice proprio tia86:
Semplicemente che nel tuo programma la veriabile a non viene mai modificata e quindi vai a usare un null pointer nelle tue funzioni, ordMappa non tiene conto di questo e quindi fai una access violation.