From 4446c4d89064346fd9ab9e00dbb1a544d96bfa24 Mon Sep 17 00:00:00 2001 From: shdown Date: Tue, 2 Jun 2015 23:08:08 +0300 Subject: [PATCH] i3bar: fix freeing static strings name and color fields of blocks are freed in clear_statusline, so they need to be strdup'ed. --- i3bar/src/child.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i3bar/src/child.c b/i3bar/src/child.c index 41f8880d..e2638e7b 100644 --- a/i3bar/src/child.c +++ b/i3bar/src/child.c @@ -107,14 +107,14 @@ __attribute__((format(printf, 1, 2))) static void set_statusline_error(const cha struct status_block *err_block = scalloc(sizeof(struct status_block)); err_block->full_text = i3string_from_utf8("Error: "); - err_block->name = "error"; - err_block->color = "red"; + err_block->name = sstrdup("error"); + err_block->color = sstrdup("red"); err_block->no_separator = true; struct status_block *message_block = scalloc(sizeof(struct status_block)); message_block->full_text = i3string_from_utf8(message); - message_block->name = "error_message"; - message_block->color = "red"; + message_block->name = sstrdup("error_message"); + message_block->color = sstrdup("red"); message_block->no_separator = true; TAILQ_INSERT_HEAD(&statusline_head, err_block, blocks);