Commit: patch 9.1.1680: MS-Windows: possible buffer-under run in if_cscope

3 views
Skip to first unread message

Christian Brabandt

unread,
Aug 23, 2025, 12:15:14 PMAug 23
to vim...@googlegroups.com
patch 9.1.1680: MS-Windows: possible buffer-under run in if_cscope

Commit: https://github.com/vim/vim/commit/191d77872d8938fce28abaec061d4d6cde88cf48
Author: Christian Brabandt <c...@256bit.org>
Date: Sat Aug 23 18:11:28 2025 +0200

patch 9.1.1680: MS-Windows: possible buffer-under run in if_cscope

Problem: MS-Windows: possible buffer-under run in if_cscope
cs_pathcomponents() (Murali Aniruddhan)
Solution: Fix the loop and do not decrement the pointer twice.

closes: #18091

Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/if_cscope.c b/src/if_cscope.c
index 86bfbd81b..478a99f16 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -1940,12 +1940,18 @@ cs_pathcomponents(char *path)

s = path + strlen(path) - 1;
for (i = 0; i < p_cspc; ++i)
- while (s > path && *--s != '/'
+ {
+ while (s > path)
+ {
+ s--;
+ if (*s == '/'
#ifdef MSWIN
- && *--s != '\'
+ || *s == '\'
#endif
)
- ;
+ break;
+ }
+ }
if ((s > path && *s == '/')
#ifdef MSWIN
|| (s > path && *s == '\')
diff --git a/src/version.c b/src/version.c
index 98ecbc99a..a53a03924 100644
--- a/src/version.c
+++ b/src/version.c
@@ -724,6 +724,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1680,
/**/
1679,
/**/
Reply all
Reply to author
Forward
0 new messages