patch 9.1.1463: Integer overflow in getmarklist() after linewise operation
Problem: Integer overflow in getmarklist() after linewise operation.
Solution: Don't add 1 to MAXCOL (zeertzjq)
related: neovim/neovim#34524
closes: #17552
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/mark.c b/src/mark.c
index 9f6a9cc..2b03919 100644
--- a/src/mark.c
+++ b/src/mark.c
@@ -1464,7 +1464,7 @@
list_append_number(lpos, bufnr);
list_append_number(lpos, pos->lnum);
- list_append_number(lpos, pos->col + 1);
+ list_append_number(lpos, pos->col < MAXCOL ? pos->col + 1 : MAXCOL);
list_append_number(lpos, pos->coladd);
if (dict_add_string(d, "mark", mname) == FAIL