Mercurial > vim
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()