]> granicus.if.org Git - vim/commitdiff
patch 8.1.0476: memory leaks in test_escaped_glob v8.1.0476
authorBram Moolenaar <Bram@vim.org>
Sun, 14 Oct 2018 20:03:56 +0000 (22:03 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 14 Oct 2018 20:03:56 +0000 (22:03 +0200)
Problem:    Memory leaks in test_escaped_glob.
Solution:   Avoid failure when running the shell, use the sandbox.

src/testdir/test_escaped_glob.vim
src/version.c

index e0723da6f00f916d08c366817f7f9dcfda4b8805..880f32eca4909fe18a32e1e946418358b364bbeb 100644 (file)
@@ -2,8 +2,6 @@
 " characters.
 
 function SetUp()
-  " make sure glob() doesn't use the shell
-  set shell=doesnotexist
   " consistent sorting of file names
   set nofileignorecase
 endfunction
@@ -14,19 +12,22 @@ function Test_glob()
     " filenames. Disable the test on non-Unix systems for now.
     return
   endif
-  call assert_equal("", glob('Xxx\{'))
-  call assert_equal("", glob('Xxx\$'))
+
+  " Execute these commands in the sandbox, so that using the shell fails.
+  " Setting 'shell' to an invalid name causes a memory leak.
+  sandbox call assert_equal("", glob('Xxx\{'))
+  sandbox call assert_equal("", glob('Xxx\$'))
   w! Xxx{
   w! Xxx\$
-  call assert_equal("Xxx{", glob('Xxx\{'))
-  call assert_equal("Xxx$", glob('Xxx\$'))
+  sandbox call assert_equal("Xxx{", glob('Xxx\{'))
+  sandbox call assert_equal("Xxx$", glob('Xxx\$'))
   call delete('Xxx{')
   call delete('Xxx$')
 endfunction
 
 function Test_globpath()
-  call assert_equal("sautest/autoload/globone.vim\nsautest/autoload/globtwo.vim",
+  sandbox call assert_equal("sautest/autoload/globone.vim\nsautest/autoload/globtwo.vim",
         \ globpath('sautest/autoload', 'glob*.vim'))
-  call assert_equal(['sautest/autoload/globone.vim', 'sautest/autoload/globtwo.vim'],
+  sandbox call assert_equal(['sautest/autoload/globone.vim', 'sautest/autoload/globtwo.vim'],
         \ globpath('sautest/autoload', 'glob*.vim', 0, 1))
 endfunction
index 4523c71f79fe84cb67de9c9e9a43b44e9650a3f5..56addcdbb603c44eca0bb8ed9dff52e2207bcd8a 100644 (file)
@@ -792,6 +792,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    476,
 /**/
     475,
 /**/