From 49e4ca2fa0c6de8f50d3f739ce46e8d4c7b75da8 Mon Sep 17 00:00:00 2001 From: Flavian Kaufmann Date: Sun, 25 May 2025 16:11:13 +0200 Subject: [bugfix] properly free interpreter context --- src/interpreter_context.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/interpreter_context.c b/src/interpreter_context.c index 488f872..b6014d6 100644 --- a/src/interpreter_context.c +++ b/src/interpreter_context.c @@ -33,6 +33,13 @@ void imp_interpreter_context_destroy(IMP_InterpreterContext *context) { ptrdiff_t len = shlen(context->var_table); for (ptrdiff_t i = 0; i < len; ++i) free((char*)context->var_table[i].key); shfree(context->var_table); + len = shlen(context->proc_table); + for (ptrdiff_t i = 0; i < len; ++i) { + free((char*)context->proc_table[i].key); + imp_ast_destroy((IMP_ASTNode*)context->proc_table[i].value); + } + shfree(context->proc_table); + free(context); } int imp_interpreter_context_var_get(IMP_InterpreterContext *context, const char *name) { -- cgit v1.2.3