Salve a tutti,
è la prima discussione che apro, grazie a chi la leggerà
Come ho scritto nel titolo il problema si verifica in fclose() di un file di testo

void printlist(char *filename, char **list, int length,int size) {
FILE *out=fopen(filename,"w");
int i;

for(i=0; i<length; i++) {
list[i][size] = '\0';
fprintf(out,"%s\n",list[i]);
}

fclose(out);
}

Questa è la funzione incriminata..
L'errore non si verifica sempre,
ma lo fa solamente con delle lunghezze particolari di stringhe cioè 12,20,28..
e quando il **list contiene più di 100.000 elementi.
inoltre il file in output che crea è corretto :berto:

Lo stavo testando con Cygwin in ambiente Windows e pensando che fosse un baco
nella gestione della memoria, ho provato con Debian ma purtroppo l'errore è lo stesso
Ho notato che c'è una distanza di 8 nelle lunghezze che danno l'errore
ma ho idea del perchè.. stò finendo i neuroni a pensarci

Se qualcuno ha un idea..

GRAZIE