From 28544391f5b478d215131c7b1d63590f7338e692 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Thu, 14 Feb 2013 12:20:17 +0000 Subject: [PATCH] Do not leak formats in status_replace. --- status.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/status.c b/status.c index 13ea9a53..636f6278 100644 --- a/status.c +++ b/status.c @@ -503,7 +503,7 @@ status_replace(struct client *c, struct session *s, struct winlink *wl, struct window_pane *wp, const char *fmt, time_t t, int jobsflag) { static char out[BUFSIZ]; - char in[BUFSIZ], ch, *iptr, *optr; + char in[BUFSIZ], ch, *iptr, *optr, *expanded; size_t len; struct format_tree *ft; @@ -542,7 +542,9 @@ status_replace(struct client *c, struct session *s, struct winlink *wl, format_session(ft, s); format_winlink(ft, s, wl); format_window_pane(ft, wp); - return (format_expand(ft, out)); + expanded = format_expand(ft, out); + format_free(ft); + return (expanded); } /* Figure out job name and get its result, starting it off if necessary. */