i3bar: Don’t crash when full_text is missing or null in the JSON input (Thanks fernandotcl)

This commit is contained in:
Michael Stapelberg 2012-05-12 08:23:37 +02:00
parent 56f6d01ba3
commit 156a06e495
1 changed files with 4 additions and 0 deletions

View File

@ -128,6 +128,10 @@ static int stdin_end_map(void *context) {
parser_ctx *ctx = context; parser_ctx *ctx = context;
struct status_block *new_block = smalloc(sizeof(struct status_block)); struct status_block *new_block = smalloc(sizeof(struct status_block));
memcpy(new_block, &(ctx->block), sizeof(struct status_block)); memcpy(new_block, &(ctx->block), sizeof(struct status_block));
/* Ensure we have a full_text set, so that when it is missing (or null),
* i3bar doesnt crash and the user gets an annoying message. */
if (!new_block->full_text)
new_block->full_text = sstrdup("SPEC VIOLATION (null)");
TAILQ_INSERT_TAIL(&statusline_head, new_block, blocks); TAILQ_INSERT_TAIL(&statusline_head, new_block, blocks);
return 1; return 1;
} }