From 6316fe24263f219105959f2b4dc8caf64069784f Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Tue, 2 May 2023 20:47:16 -0400 Subject: [PATCH] fix: fix some memory errors by doing the proper thing on expr evaluation --- mumble | Bin 182080 -> 181840 bytes src/mumble.c | 19 ++++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/mumble b/mumble index 4d0d09bac81d52a4e7e4290d768c07ecc4712199..477d8fe7934a96d7ad18977c36ff1727009058d4 100755 GIT binary patch delta 31354 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 diff --git a/src/mumble.c b/src/mumble.c index 77569f9..01ed1bb 100644 --- a/src/mumble.c +++ b/src/mumble.c @@ -856,12 +856,21 @@ lispval* evaluate_lispval(lispval* l, lispenv* env) if (VERBOSE) print_lispval_tree(l, 4); + // Ok, do this properly now. + if (VERBOSE) + printfln("Constructing function and operands"); + lispval* f = clone_lispval(l->cell[0]); + lispval* operands = lispval_sexpr(); + for(int i=1; icount; i++){ + lispval_append_child(operands, l->cell[i]); + + } + /* lispval* temp = clone_lispval(l); lispval* f = pop_lispval(temp, 0); // pop is destructive. lispval* operands = temp; - if (VERBOSE) - printfln("Allocated memory"); + */ // lispval* operation = clone_lispval(l->cell[0]); // lispval* operands = lispval_sexpr(); // for (int i = 1; i < l->count; i++) { @@ -871,17 +880,17 @@ lispval* evaluate_lispval(lispval* l, lispenv* env) printfln("Applying function to operands"); // lispval* answer = lispval_num(42); lispval* answer = f->func(operands, env); - if (VERBOSE) printfln("Applied function to operands"); - if (VERBOSE) + + if (VERBOSE) printfln("Cleaning up"); // builtin_functions(operation->sym, l, env); delete_lispval(f); delete_lispval(operands); // delete_lispval(temp); if (VERBOSE) - printfln("Returning"); + printfln("Cleaned up. Returning"); return answer; } return l;