patch 8.2.1161: Vim9: using freed memory
Problem: Vim9: using freed memory.
Solution: Put pointer back in evalarg instead of freeing it.
diff --git a/src/vim9compile.c b/src/vim9compile.c
index c0e4674..941309f 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3113,6 +3113,8 @@
// Compile it into instructions.
compile_def_function(ufunc, TRUE, cctx);
+ clear_evalarg(&evalarg, NULL);
+
if (ufunc->uf_def_status == UF_COMPILED)
return generate_FUNCREF(cctx, ufunc->uf_dfunc_idx);
return FAIL;