st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit a0467c802d4f86ed162486e3453dd61181423902
parent 273db5ceaf392e68c2faf8f7dec14ea2e25e980d
Author: Jochen Sprickerhof <git@jochen.sprickerhof.de>
Date:   Mon, 27 Dec 2021 11:41:42 +0100

Fix null pointer access in strhandle

According to the spec the argument is optional for 104, so p can be
NULL as can be tested with printf '\x1b]104\x07'. This is a regression
of 8e31030.

Diffstat:
Mst.c | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/st.c b/st.c
@@ -1960,10 +1960,10 @@ strhandle(void)
                 break;
             p = strescseq.args[2];
             /* FALLTHROUGH */
-        case 104: /* color reset, here p = NULL */
+        case 104: /* color reset */
             j = (narg > 1) ? atoi(strescseq.args[1]) : -1;
 
-            if (!strcmp(p, "?"))
+            if (p && !strcmp(p, "?"))
                 osc4_color_response(j);
             else if (xsetcolorname(j, p)) {
                 if (par == 104 && narg <= 1)