vim-patch:8.2.4065: computation overflow with large cound for :yank

Problem:    Computation overflow with large cound for :yank.
Solution:   Avoid an overflow.

3cf21b3051

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq
2024-07-14 05:58:32 +08:00
parent 6276fce11e
commit 5531c95101
3 changed files with 16 additions and 7 deletions

View File

@@ -29,13 +29,13 @@ describe('Ex cmds', function()
':tabnext 9999999999999999999999999999999999999999',
'Vim(tabnext):E475: Invalid argument: 9999999999999999999999999999999999999999'
)
check_excmd_err(
':N 9999999999999999999999999999999999999999',
'Vim(Next):E939: Positive count required'
eq(
'Vim(Next):E163: There is only one file to edit',
pcall_err(command, ':N 9999999999999999999999999999999999999999')
)
check_excmd_err(
':bdelete 9999999999999999999999999999999999999999',
'Vim(bdelete):E939: Positive count required'
'Vim(bdelete):E516: No buffers were deleted'
)
eq(
'Vim(menu):E329: No menu "9999999999999999999999999999999999999999"',

View File

@@ -722,9 +722,14 @@ func Test_address_line_overflow()
throw 'Skipped: only works with 64 bit long ints'
endif
new
call setline(1, 'text')
call setline(1, range(100))
call assert_fails('|.44444444444444444444444', 'E1247:')
call assert_fails('|.9223372036854775806', 'E1247:')
$
yank 77777777777777777777
call assert_equal("99\n", @")
bwipe!
endfunc