Originariamente inviato da oregon
Le stringhe in C hanno un terminatore ... devi prevederlo nella malloc

buf=(char*)malloc(sizeof(char)* (size+1));

e devi accertarti che ci sia nella stringa alla fine dopo la lettura dal file.
si lo so ma nel scrivere l'ho dimenticato...cmq anche correggendo niente...