Commit: patch 9.1.1611: possible undefined behaviour in mb_decompose()

1 view
Skip to first unread message

Christian Brabandt

unread,
Aug 9, 2025, 6:00:18 PM8/9/25
to vim...@googlegroups.com
patch 9.1.1611: possible undefined behaviour in mb_decompose()

Commit: https://github.com/vim/vim/commit/c43a0614d40a3892a9cb2b9d75f61a19a3de0226
Author: Áron Hárnási <aron.h...@gmail.com>
Date: Sat Aug 9 23:43:13 2025 +0200

patch 9.1.1611: possible undefined behaviour in mb_decompose()

Problem: possible undefined behaviour in mb_decompose(), when using the
same pointer as argument several times
Solution: use separate assignments to avoid reading and writing the same
object at the same time (Áron Hárnási)

closes: #17953

Signed-off-by: Áron Hárnási <aron.h...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/regexp.c b/src/regexp.c
index e37dd3c5b..305ca896e 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -1722,7 +1722,8 @@ mb_decompose(int c, int *c1, int *c2, int *c3)
else
{
*c1 = c;
- *c2 = *c3 = 0;
+ *c2 = 0;
+ *c3 = 0;
}
}

diff --git a/src/version.c b/src/version.c
index e2c46855e..4716c5d0d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -719,6 +719,8 @@ static char *(features[]) =

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