Ho un problema! Ho sempre utilizzato la funzione calloc senza problemi, ma adesso mi si verifica un fatto strano. Provo a spiegarmi con un esempio:

codice:
char *n;
char *m;

n = calloc(strlen(j.campoDiUnaStruct), sizeof(char));
strcat(n, j.campoDiUnaStruct);

m = calloc(strlen(j.campoDiUnaStruct)+5, sizeof(char));
...
Dove j è una struct.
Il problema è che quando alloco la memoria per m, mi modifica il valore di n (ad esempio mi aggiunge un punto esclamativo alla fine di n)...
Come è possibile?