La initList non e' corretta.

Per esempio, assegni p0 a p->pun ma p0 non e' mai stato inizializzato ...

Rivedi la logica di questa funzione ...