Au lieu de faire un malloc de la taille de ton fichier de configuration, tu te crées un buffer à taille fixe que tu utilises pour lire le fichier en plusieurs fois si nécessaire.
=> par exemple:
char *buffer = (char*) malloc(1024);
fread (FILE, buffer, 1024);