diff src/testdir/test_blob.vim @ 20158:94f05de75e9f v8.2.0634

patch 8.2.0634: crash with null partial and blob Commit: https://github.com/vim/vim/commit/92b83ccfda7a1d654ccaaf161a9c8a8e01fbcf76 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 25 15:24:44 2020 +0200 patch 8.2.0634: crash with null partial and blob Problem: Crash with null partial and blob. Solution: Check for NULL pointer. Add more tests. (Yegappan Lakshmanan, closes #5984)
author Bram Moolenaar <Bram@vim.org>
date Sat, 25 Apr 2020 15:30:04 +0200
parents 49694eceaa55
children 505d97ea54da
line wrap: on
line diff
--- a/src/testdir/test_blob.vim
+++ b/src/testdir/test_blob.vim
@@ -33,6 +33,7 @@ func Test_blob_create()
   call assert_fails('let b = 0z.')
   call assert_fails('let b = 0z001122.')
   call assert_fails('call get("", 1)', 'E896:')
+  call assert_equal(0, len(test_null_blob()))
 endfunc
 
 " assignment to a blob
@@ -100,6 +101,7 @@ func Test_blob_get()
   call assert_equal(999, get(b, 5, 999))
   call assert_equal(-1, get(b, -8))
   call assert_equal(999, get(b, -8, 999))
+  call assert_equal(10, get(test_null_blob(), 2, 10))
 
   call assert_equal(0x00, b[0])
   call assert_equal(0x22, b[2])
@@ -117,6 +119,7 @@ func Test_blob_to_string()
   call assert_equal('0z00112233', string(b))
   call remove(b, 0, 3)
   call assert_equal('0z', string(b))
+  call assert_equal('0z', string(test_null_blob()))
 endfunc
 
 func Test_blob_compare()
@@ -251,6 +254,7 @@ func Test_blob_func_remove()
   call assert_fails("call remove(b, 3, 2)", 'E979:')
   call assert_fails("call remove(1, 0)", 'E896:')
   call assert_fails("call remove(b, b)", 'E974:')
+  call assert_fails("call remove(test_null_blob(), 1, 2)", 'E979:')
 endfunc
 
 func Test_blob_read_write()
@@ -313,6 +317,7 @@ func Test_blob_insert()
   call assert_fails('call insert(b, 0, -20)', 'E475:')
   call assert_fails('call insert(b, 0, 20)', 'E475:')
   call assert_fails('call insert(b, [])', 'E745:')
+  call assert_equal(0, insert(test_null_blob(), 0x33))
 endfunc
 
 func Test_blob_reverse()
@@ -320,6 +325,7 @@ func Test_blob_reverse()
   call assert_equal(0zBEADDE, reverse(0zDEADBE))
   call assert_equal(0zADDE, reverse(0zDEAD))
   call assert_equal(0zDE, reverse(0zDE))
+  call assert_equal(0z, reverse(test_null_blob()))
 endfunc
 
 func Test_blob_json_encode()