# HG changeset patch # User Christian Brabandt # Date 1725120902 -7200 # Node ID f81b0f00ed22dff6340c037e5f8cd9eb7a0c0552 # Parent 51799727f341da16897b70c82eede9c3bc0ab64c patch 9.1.0707: [security]: invalid cursor position may cause a crash Commit: https://github.com/vim/vim/commit/396fd1ec2956307755392a1c61f55d5c1847f308 Author: Christian Brabandt Date: Sat Aug 31 17:58:16 2024 +0200 patch 9.1.0707: [security]: invalid cursor position may cause a crash Problem: [security]: invalid cursor position may cause a crash (after v9.1.0038) Solution: Set cursor to the last character in a line, if it would otherwise point to beyond the line; no tests added, as it is unclear how to reproduce this. Github Advisory: https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh Co-authored-by: zeertzjq Signed-off-by: zeertzjq Signed-off-by: Christian Brabandt diff --git a/src/charset.c b/src/charset.c --- a/src/charset.c +++ b/src/charset.c @@ -1678,6 +1678,9 @@ getvcol( } clear_chartabsize_arg(&cts); + if (*ptr == NUL && pos->col < MAXCOL && pos->col > ptr - line) + pos->col = ptr - line; + if (start != NULL) *start = vcol + head; if (end != NULL) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 707, +/**/ 706, /**/ 705,