diff options
-rw-r--r-- | usr.bin/tmux/format-draw.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.bin/tmux/format-draw.c b/usr.bin/tmux/format-draw.c index 51df9746a49..2e97b2aeefc 100644 --- a/usr.bin/tmux/format-draw.c +++ b/usr.bin/tmux/format-draw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: format-draw.c,v 1.4 2019/03/20 07:24:03 nicm Exp $ */ +/* $OpenBSD: format-draw.c,v 1.5 2019/03/20 07:28:31 nicm Exp $ */ /* * Copyright (c) 2019 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -577,7 +577,9 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base, end = format_skip(cp + 2, "]"); if (end == NULL) { log_debug("no terminating ] at '%s'", cp + 2); - return; + TAILQ_FOREACH_SAFE(fr, &frs, entry, fr1) + format_free_range(&frs, fr); + goto out; } tmp = xstrndup(cp + 2, end - (cp + 2)); if (style_parse(&sy, base, tmp) != 0) { @@ -755,6 +757,7 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base, format_free_range(&frs, fr); } +out: /* Free the screens. */ for (i = 0; i < TOTAL; i++) screen_free(&s[i]); |