из вашего кода:
(*currentptr) = (Nodeptr)malloc(sizeof(Node));
...
if((*currentptr) == NULL)
Предположим, у вас есть память для выполнения malloc, и присвоение действительно, тест после ложен и бесполезен
В вашем коде глобально возникает путаница между получением / установкой указателя и получением / установкой указанного значения
Моя программа падает после получения первого ввода
Что касается вашего сбоя, то это просто потому, что currentptr равен нулю, когда вы отменяете ссылку в первой строке выше
Существует множество примеров связанного списка в C на S.O. Я рекомендую вам взглянуть на них, используя search
Если у вас есть valgring , используйте его, это очень полезный инструмент и / или, конечно, используйте отладчик