Do not dereference pane when it is NULL, fixes a crash when creating a
authornicm <nicm@openbsd.org>
Thu, 12 Aug 2021 08:10:20 +0000 (08:10 +0000)
committernicm <nicm@openbsd.org>
Thu, 12 Aug 2021 08:10:20 +0000 (08:10 +0000)
hook from the config, GitHub issue 2820.

usr.bin/tmux/format.c
usr.bin/tmux/notify.c

index 9f78868..228a38c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: format.c,v 1.289 2021/08/12 08:05:11 nicm Exp $ */
+/* $OpenBSD: format.c,v 1.290 2021/08/12 08:10:20 nicm Exp $ */
 
 /*
  * Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -3098,7 +3098,7 @@ format_log_debug_cb(const char *key, const char *value, void *arg)
 void
 format_log_debug(struct format_tree *ft, const char *prefix)
 {
-       format_each(ft, format_log_debug_cb, prefix);
+       format_each(ft, format_log_debug_cb, (void *)prefix);
 }
 
 /* Walk each format. */
index 69d8ce1..44bb734 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: notify.c,v 1.38 2021/08/12 08:05:11 nicm Exp $ */
+/* $OpenBSD: notify.c,v 1.39 2021/08/12 08:10:20 nicm Exp $ */
 
 /*
  * Copyright (c) 2012 George Nachman <tmux@georgester.com>
@@ -200,7 +200,7 @@ notify_hook(struct cmdq_item *item, const char *name)
        ne.client = cmdq_get_client(item);
        ne.session = target->s;
        ne.window = target->w;
-       ne.pane = target->wp->id;
+       ne.pane = (target->wp != NULL ? target->wp->id : -1);
 
        ne.formats = format_create(NULL, NULL, 0, FORMAT_NOJOBS);
        format_add(ne.formats, "hook", "%s", name);