From 32b3af58ccb3b7a0cf8570b9d40560f8624640d8 Mon Sep 17 00:00:00 2001 From: "K. Lange" Date: Fri, 27 May 2022 00:15:55 +0900 Subject: [PATCH] Unset class bases when doing final free so we don't access potentially-freed subclass tables --- src/memory.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/memory.c b/src/memory.c index 1cc7f9e..b0ee2b0 100644 --- a/src/memory.c +++ b/src/memory.c @@ -284,6 +284,9 @@ void krk_freeObjects() { while (other) { KrkObj * next = other->next; + if (other->type == KRK_OBJ_CLASS) { + ((KrkClass*)other)->base = NULL; + } freeObject(other); other = next; }