If num is greater than the list length, then it will fail.
while ( current != NULL && counter != num-1 )
If num is greater than the list length, then it will fail.
while ( current != NULL && counter != num-1 )
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.