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).