Invece ho capito perchè a me da problemi. Ho letto su un libro di testo che se uso free(p) senza prima aver generato p con "malloc" allora può dare problemi.
Comunque ti ringrazio per la tua disponibilità, sei stato davvero molto gentile, ti devo una birra :-D