diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-04-27 23:39:30 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-04-27 23:39:30 +0200 |
commit | 03afdcf1f449d23c9b6bc56d8b61f31dd4e11836 (patch) | |
tree | d3ff3065c2501c7d38744725b56967ee03e05479 /src | |
parent | 909ed7e902d97054262fb55b28f5e855428ab7fe (diff) |
patch 8.2.0653: using uninitialized pointerv8.2.0653
Problem: using uninitialized pointer.
Solution: Move assignment up. (John Marriott)
Diffstat (limited to 'src')
-rw-r--r-- | src/testdir/test_vim9_script.vim | 32 | ||||
-rw-r--r-- | src/userfunc.c | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 18 insertions, 18 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 0ab170ef12..4c821ec513 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -707,8 +707,7 @@ def Test_vim9script_reload_import() return valtwo enddef END - writefile(lines + morelines, - 'Xreload.vim') + writefile(lines + morelines, 'Xreload.vim') source Xreload.vim source Xreload.vim source Xreload.vim @@ -724,10 +723,9 @@ def Test_vim9script_reload_import() writefile(testlines, 'Ximport.vim') source Ximport.vim - " test that when not using "morelines" valtwo is still defined - " need to source Xreload.vim again, import doesn't reload a script + " Test that when not using "morelines" GetValtwo() and valtwo are still + " defined, because import doesn't reload a script. writefile(lines, 'Xreload.vim') - source Xreload.vim source Ximport.vim " cannot declare a var twice @@ -750,36 +748,36 @@ def Test_vim9script_reload_delfunc() return 'yes' enddef END - let middle_lines =<< trim END + let withno_lines =<< trim END def FuncNo(): string return 'no' enddef + def g:DoCheck(no_exists: bool) + assert_equal('yes', FuncYes()) + assert_equal('no', FuncNo()) + enddef END - let final_lines =<< trim END + let nono_lines =<< trim END def g:DoCheck(no_exists: bool) assert_equal('yes', FuncYes()) - if no_exists - assert_equal('no', FuncNo()) - else - assert_fails('call FuncNo()', 'E117:') - endif + assert_fails('call FuncNo()', 'E117:') enddef END # FuncNo() is defined - writefile(first_lines + middle_lines + final_lines, 'Xreloaded.vim') + writefile(first_lines + withno_lines, 'Xreloaded.vim') source Xreloaded.vim g:DoCheck(true) # FuncNo() is not redefined - writefile(first_lines + final_lines, 'Xreloaded.vim') + writefile(first_lines + nono_lines, 'Xreloaded.vim') source Xreloaded.vim - g:DoCheck(false) + g:DoCheck() # FuncNo() is back - writefile(first_lines + middle_lines + final_lines, 'Xreloaded.vim') + writefile(first_lines + withno_lines, 'Xreloaded.vim') source Xreloaded.vim - g:DoCheck(true) + g:DoCheck() delete('Xreloaded.vim') enddef diff --git a/src/userfunc.c b/src/userfunc.c index 86dea795cf..708b4523b3 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -1599,9 +1599,9 @@ delete_script_functions(int sid) for (hi = func_hashtab.ht_array; todo > 0; ++hi) if (!HASHITEM_EMPTY(hi)) { + fp = HI2UF(hi); if (STRNCMP(fp->uf_name, buf, len) == 0) { - fp = HI2UF(hi); fp->uf_flags |= FC_DEAD; func_clear(fp, TRUE); } diff --git a/src/version.c b/src/version.c index f9951e9366..9bee5136b1 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 653, +/**/ 652, /**/ 651, |