[hackers] [st][PATCH] csi: check for private marker in 'S' case

From: Tim Culverhouse <tim_AT_timculverhouse.com>
Date: Sun, 18 Feb 2024 06:56:49 -0600

The handler for 'S' final character does not check for a private
marker. This can cause a conflict with a sequence called 'XTSMGRAPHICS'
which also has an 'S' final character, but uses the private marker '?'.
Without checking for a private marker, st will perform a scroll up
operation when XTSMGRAPHICS is seen, which can cause unexpected display
artifacts.
---
 st.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/st.c b/st.c
index d6478f55a249..034954d0aa83 100644
--- a/st.c
+++ b/st.c
_AT_@ -1728,6 +1728,7 @@ csihandle(void)
 		}
 		break;
 	case 'S': /* SU -- Scroll <n> line up */
+		if (csiescseq.priv) break;
 		DEFAULT(csiescseq.arg[0], 1);
 		tscrollup(term.top, csiescseq.arg[0]);
 		break;
-- 
2.43.2
Received on Sun Feb 18 2024 - 13:56:49 CET

This archive was generated by hypermail 2.3.0 : Sun Feb 18 2024 - 14:00:35 CET