So che magari sparo anche cavolate ma vado anche io un po' a tentativi

Nel main, rad è già un puntatore a puntatore a nod, giusto?
Quindi quando lo inizializzi a NULL, perchè non provi a scrivere solo rad invece che *rad?
E poi in che senso va in loop? Schermata bianca che non fa niente o segmentation fault?