From e2fc93a2985b1085048a07753e7c93b23abf06ed Mon Sep 17 00:00:00 2001 From: A404M Date: Sat, 25 Jan 2025 23:03:52 +0330 Subject: fix memory leaks --- src/compiler/code-generator.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/compiler/code-generator.c') diff --git a/src/compiler/code-generator.c b/src/compiler/code-generator.c index c07bab5..d9fc05d 100644 --- a/src/compiler/code-generator.c +++ b/src/compiler/code-generator.c @@ -9,7 +9,19 @@ void codeGeneratorDelete(CodeGeneratorCodes *code) { for (size_t i = 0; i < code->codes_size; ++i) { - continue; + CodeGeneratorCode current = code->codes[i]; + switch (current.instruction) { + case CODE_GENERATOR_INSTRUCTION_PRINT: + case CODE_GENERATOR_INSTRUCTION_RET: + continue; + case CODE_GENERATOR_INSTRUCTION_CALL: { + CodeGeneratorCall *metadata = current.metadata; + free(metadata); + } + continue; + } + printLog("Bad instruction %d", current.instruction); + exit(1); } free(code->codes); free(code); -- cgit v1.2.3