Se hai capito che l'errore è nella funzione carica, controlla che al suo interno i puntatori siano tutti correttamente inizializzati (insomma hai fatto una chiamata a malloc andata a buon fine) e che siano usati in maniera corretta.
grazie ho trovato l'errore, era nella malloc!!!