forked from aniani/vim
patch 8.0.1346: crash when passing 50 char string to balloon_split()
Problem: Crash when passing 50 char string to balloon_split(). Solution: Fix off-by-one error.
This commit is contained in:
parent
c41838aa01
commit
a3571ebef5
@ -836,7 +836,7 @@ split_message(char_u *mesg, pumitem_T **array)
|
|||||||
item->bytelen = p - item->start;
|
item->bytelen = p - item->start;
|
||||||
if (item->cells > max_cells)
|
if (item->cells > max_cells)
|
||||||
max_cells = item->cells;
|
max_cells = item->cells;
|
||||||
long_item_count += item->cells / BALLOON_MIN_WIDTH;
|
long_item_count += (item->cells - 1) / BALLOON_MIN_WIDTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
height = 2 + ga.ga_len;
|
height = 2 + ga.ga_len;
|
||||||
|
@ -707,6 +707,10 @@ func Test_balloon_split()
|
|||||||
if !exists('*balloon_split')
|
if !exists('*balloon_split')
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
call assert_equal([
|
||||||
|
\ 'tempname: 0x555555e380a0 "/home/mool/.viminfz.tmp"',
|
||||||
|
\ ], balloon_split(
|
||||||
|
\ 'tempname: 0x555555e380a0 "/home/mool/.viminfz.tmp"'))
|
||||||
call assert_equal([
|
call assert_equal([
|
||||||
\ 'one two three four one two three four one two thre',
|
\ 'one two three four one two three four one two thre',
|
||||||
\ 'e four',
|
\ 'e four',
|
||||||
|
@ -771,6 +771,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1346,
|
||||||
/**/
|
/**/
|
||||||
1345,
|
1345,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user