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. */