From 864873d3f353ab3e54040817ec562bd3b346b55f Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Tue, 15 Sep 2020 23:08:38 +0200 Subject: [PATCH] vi/v_txt.c: txt_dent: introduce sequence point between decrement and access In particular, ensure the decrement is performed before the modulo is subtracted from "target". Although most, if not all, compilers will perform the decrement first even in the original code, this is not guaranteed by the C language. Reported-by: David Binderman Signed-off-by: Sven Verdoolaege --- vi/v_txt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vi/v_txt.c b/vi/v_txt.c index 2fd7b832..ac4e8217 100644 --- a/vi/v_txt.c +++ b/vi/v_txt.c @@ -1922,7 +1922,7 @@ txt_dent(SCR *sp, TEXT *tp, int isindent) if (isindent) target += COL_OFF(target, sw); else - target -= --target % sw; + --target, target -= target % sw; /* * The AI characters will be turned into overwrite characters if the -- 2.11.4.GIT