From: Bram Moolenaar Date: Sun, 12 Apr 2020 21:09:25 +0000 (+0200) Subject: patch 8.2.0566: Vim9: variable can be used uninitialized X-Git-Tag: v8.2.0566 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1a2f4bf6c80d750615f19c34e5baddd21310c9c9;p=vim 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. --- 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);