From 1a2f4bf6c80d750615f19c34e5baddd21310c9c9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 12 Apr 2020 23:09:25 +0200 Subject: [PATCH] patch 8.2.0566: Vim9: variable can be used uninitialized Problem: Vim9: variable can be used uninitialized. Solution: Jump to after where variable is used. --- src/version.c | 2 ++ src/vim9execute.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/version.c b/src/version.c index 2e2a4d051..35f8df8e8 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 566, /**/ 565, /**/ diff --git a/src/vim9execute.c b/src/vim9execute.c index 4ac760e66..cddb9d213 100644 --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -524,7 +524,7 @@ call_def_function( else argc -= vararg_count; if (exe_newlist(vararg_count, &ectx) == FAIL) - goto failed; + goto failed_early; if (defcount > 0) // Move varargs list to below missing default arguments. *STACK_TV_BOT(defcount- 1) = *STACK_TV_BOT(-1); @@ -1773,7 +1773,7 @@ failed: // When failed need to unwind the call stack. while (ectx.ec_frame != initial_frame_ptr) func_return(&ectx); - +failed_early: for (idx = 0; idx < ectx.ec_stack.ga_len; ++idx) clear_tv(STACK_TV(idx)); vim_free(ectx.ec_stack.ga_data); -- 2.50.1