summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-12-20 20:47:32 +0100
committerBram Moolenaar <Bram@vim.org>2018-12-20 20:47:32 +0100
commita79fd56923744e331b3a5badbf9186100818fb45 (patch)
treeea2f0dfa4cc226159d5917f129e42bc716f4e9bb
parent6dc6703295362e0d4b81a3eceae6b0dd229b5d7e (diff)
downloadvim-git-a79fd56923744e331b3a5badbf9186100818fb45.tar.gz
patch 8.1.0611: crash when using terminal with long composing charactersv8.1.0611
Problem: Crash when using terminal with long composing characters. Solution: Make space for all characters. (Yasuhiro Matsumoto, closes #3619, closes #3703)
-rw-r--r--src/terminal.c3
-rw-r--r--src/version.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/terminal.c b/src/terminal.c
index 42897bf07..5a0165814 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1561,7 +1561,8 @@ update_snapshot(term_T *term)
cell2cellattr(&cell, &p[pos.col]);
- if (ga_grow(&ga, MB_MAXBYTES) == OK)
+ // Each character can be up to 6 bytes.
+ if (ga_grow(&ga, VTERM_MAX_CHARS_PER_CELL * 6) == OK)
{
int i;
int c;
diff --git a/src/version.c b/src/version.c
index 3c194aefe..99513d1dc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 611,
+/**/
610,
/**/
609,