Originariamente inviato da MItaly
Nella merge non stai verificando se secPtr !=NULL, e anche il caso in cui firstPtr è uguale a NULL non è gestito correttamente.
Devi modificare il codice per cui dal while si esce solo se entrambi i puntatori sono NULL, e la scelta del nodo da copiare valuta, prima ancora dell'ordine tra i due elementi, se uno dei due è NULL (ovvero, se è finita una delle due liste, necessariamente si prendono gli elementi dall'altra).
Come hai suggerito ho messo nella condizione del while anche che secPtr!=NULL e poi ho aggiunto i casi che una lista o l'altra sono vuote, ma il problema rimane sempre lì, dove ho segnato in rosso.
Apparentemente secPtr non è NULL, e se inverto firstPtr con secPtr il problema sarà su firstPtr, quindi penso che si blocchi perchè currPtr non passa a currPtr->nextPtr