From 3a2ad8988c238cdfd82af0b52539c802b4ac504c Mon Sep 17 00:00:00 2001 From: Davide Conti Date: Sat, 28 Mar 2026 19:35:10 +0100 Subject: [PATCH] Fix TFOBJ_TYPE_LIST memory leak --- toyforth.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/toyforth.c b/toyforth.c index d823df9..0dcffb0 100644 --- a/toyforth.c +++ b/toyforth.c @@ -117,6 +117,7 @@ void freeObject(tfobj *o) { tfobj *ele = o->list.ele[j]; release(ele); } + free(o->list.ele); break; case TFOBJ_TYPE_SYMBOL: case TFOBJ_TYPE_STR: @@ -287,7 +288,7 @@ tfobj *compile(char *prg) { tfobj *parsed = createListObject(); - while(parser.p) { + while(parser.p[0]) { tfobj *o; char *token_start = parser.p; @@ -481,6 +482,10 @@ int main(int argc, char **argv) { fclose(fp); tfobj *prg = compile(prgtext); + if (prg == NULL) { + free(prgtext); + return 1; + } printObject(prg); printf("\n");