Improve memory management(stop leaks)
authorbylex <mbilek06@gmail.com>
Wed, 16 Oct 2024 07:09:51 +0000 (09:09 +0200)
committerbylex <mbilek06@gmail.com>
Wed, 16 Oct 2024 07:09:51 +0000 (09:09 +0200)
assembler.c
interpreter.c

index b91d52a8479c8675f88651e77a2216e760c2fea7..fab62373034c2eea6f0219ffa0cd5b8c421fe430 100644 (file)
@@ -216,5 +216,14 @@ int main(int argc, char *argv[])
        {
                parse_line(line_buffer, labels, &labels_len, labels_index);
        }
+       fclose(input_file);
        write_instructions(&output_file);
+       fclose(output_file);
+       int i = 0;
+       while(i < labels_len)
+       {
+               free(labels[i].label_name);
+               i++;
+       }
+       free(labels);
 }
index bbc27a2a27fc1aa4b11ff8ad41559cd929b3e621..4e2e349f117e41493c4d6ee8854481680cf767de 100644 (file)
@@ -34,6 +34,8 @@ void load_mem(char* file_name)
                memcpy(&(mem[current_addr]), line_buffer, 4);
                current_addr = current_addr + 2;
        }
+       free(line_buffer);
+       fclose(input_file);
 }