Some other missing palette NULL checks, from oss-fuzz.
authornicm <nicm@openbsd.org>
Sat, 14 Aug 2021 16:26:29 +0000 (16:26 +0000)
committernicm <nicm@openbsd.org>
Sat, 14 Aug 2021 16:26:29 +0000 (16:26 +0000)
usr.bin/tmux/input.c

index 44c9bff..51d142c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: input.c,v 1.191 2021/08/13 06:52:51 nicm Exp $ */
+/* $OpenBSD: input.c,v 1.192 2021/08/14 16:26:29 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -2556,10 +2556,12 @@ input_osc_10(struct input_ctx *ictx, const char *p)
                log_debug("bad OSC 10: %s", p);
                return;
        }
-       ictx->palette->fg = c;
-       if (wp != NULL)
-               wp->flags |= PANE_STYLECHANGED;
-       screen_write_fullredraw(&ictx->ctx);
+       if (ictx->palette != NULL) {
+               ictx->palette->fg = c;
+               if (wp != NULL)
+                       wp->flags |= PANE_STYLECHANGED;
+               screen_write_fullredraw(&ictx->ctx);
+       }
 }
 
 /* Handle the OSC 110 sequence for resetting background colour. */
@@ -2570,10 +2572,12 @@ input_osc_110(struct input_ctx *ictx, const char *p)
 
        if (*p != '\0')
                return;
-       ictx->palette->fg = 8;
-       if (wp != NULL)
-               wp->flags |= PANE_STYLECHANGED;
-       screen_write_fullredraw(&ictx->ctx);
+       if (ictx->palette != NULL) {
+               ictx->palette->fg = 8;
+               if (wp != NULL)
+                       wp->flags |= PANE_STYLECHANGED;
+               screen_write_fullredraw(&ictx->ctx);
+       }
 }
 
 /* Handle the OSC 11 sequence for setting and querying background colour. */
@@ -2596,10 +2600,12 @@ input_osc_11(struct input_ctx *ictx, const char *p)
                log_debug("bad OSC 11: %s", p);
                return;
        }
-       ictx->palette->bg = c;
-       if (wp != NULL)
-               wp->flags |= PANE_STYLECHANGED;
-       screen_write_fullredraw(&ictx->ctx);
+       if (ictx->palette != NULL) {
+               ictx->palette->bg = c;
+               if (wp != NULL)
+                       wp->flags |= PANE_STYLECHANGED;
+               screen_write_fullredraw(&ictx->ctx);
+       }
 }
 
 /* Handle the OSC 111 sequence for resetting background colour. */
@@ -2610,10 +2616,12 @@ input_osc_111(struct input_ctx *ictx, const char *p)
 
        if (*p != '\0')
                return;
-       ictx->palette->bg = 8;
-       if (wp != NULL)
-               wp->flags |= PANE_STYLECHANGED;
-       screen_write_fullredraw(&ictx->ctx);
+       if (ictx->palette != NULL) {
+               ictx->palette->bg = 8;
+               if (wp != NULL)
+                       wp->flags |= PANE_STYLECHANGED;
+               screen_write_fullredraw(&ictx->ctx);
+       }
 }
 
 /* Handle the OSC 52 sequence for setting the clipboard. */