Fix memory allocation problems

This commit is contained in:
Yannick Naumann 2024-11-19 12:30:36 +01:00
parent 931794ddcb
commit fb2416e51a

View File

@ -102,9 +102,19 @@ int main(int argc, char **argv)
argc -= 5;
unsigned long deltas[input_size];
unsigned int num_tasks = 5;
u_int32_t inputs[input_size];
int full_input_room = (int) pow(input_size, num_tasks);
printf("Full input room: %d\n", full_input_room);
unsigned long *deltas = malloc(full_input_room * sizeof(unsigned long));
if (deltas == NULL) {
fprintf(stderr, "Memory allocation failed\n");
exit(1);
}
u_int32_t *inputs = malloc(full_input_room * sizeof(u_int32_t));
if (inputs == NULL) {
fprintf(stderr, "Memory allocation failed\n");
exit(1);
}
//========= Instrumentation end
qemu_init(argc, argv);
//========= Instrumentation start
@ -127,8 +137,9 @@ int main(int argc, char **argv)
int task_inputs[num_tasks];
// input of all tasks combined
for (long i = 0; i < pow(input_size, num_tasks); i++)
for (long i = 0; i < full_input_room; i++)
{
printf("Input: %lu\n", i);
for (int j = 0; j < num_tasks; j++)
{
// from the "global input" i, extract the input bits for the task j
@ -195,12 +206,14 @@ int main(int argc, char **argv)
// qemu_chr_fe_write(serial_chr, data, length);
FILE *fptr = fopen(output_path, "w");
for (int i = 0; i < input_size; i++)
for (int i = 0; i < full_input_room; i++)
{
fprintf(fptr, "%d,%lu\n", inputs[i], deltas[i]);
}
fclose(fptr);
free(deltas);
free(inputs);
// // Write some text to the file
// fprintf(fptr, "%lu",delta);
return 0;