I am working on a project in C language and my code keeps crashing of fputs command. This is the code:
void entry_file_creation(int lc, int error_flag_line, char *source_file_name)
{
int j = 0;
FILE *entry_ptr = malloc(sizeof(FILE*));
if (entry_ptr == NULL)
{
fprintf(stderr, "\nError, please try again");
exit(-1);
}
while (j < lc)
{
if (error_flag_line == 1)
{
++j;
continue;
}
if (label_table[j].extern_entry == 2)
{
source_file_name = strtok(source_file_name, ".");
entry_ptr = fopen(strcat(source_file_name, ".ent"), "w");
if (entry_ptr == NULL)
{
fprintf(stderr, "\nError: something went wrong with creating entry file - '%s'. please try again\n\n", source_file_name);
exit(-1);
}
printf("\nLabel: %s \n", label_table[j].name);
fputs(label_table[j].name, entry_ptr);
fputs("\t", entry_ptr);
fprintf(entry_ptr, "%d\n", label_table[j].address);
}
++j;
}
free(entry_ptr);
}
Code crashes on line:
fputs(label_table[j].name, entry_ptr);
The error is corrupted size vs. prev_size: 0x08bfc5b0 please help.