summaryrefslogtreecommitdiffstats
path: root/cmd-display-message.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2012-03-03 09:45:41 +0000
committerNicholas Marriott <nicm@openbsd.org>2012-03-03 09:45:41 +0000
commit8b68ea146212cd56139ca9838e146ab018c2b8bc (patch)
treef523523d38879ab865a6702491deb13ec72a48b8 /cmd-display-message.c
parentf4fdddc9306886e3ab5257f40003f6db83ac926b (diff)
Terminate strftime buffer properly and free format string, whoops. From
Tiago Cunha.
Diffstat (limited to 'cmd-display-message.c')
-rw-r--r--cmd-display-message.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/cmd-display-message.c b/cmd-display-message.c
index fb650501..d8b623b9 100644
--- a/cmd-display-message.c
+++ b/cmd-display-message.c
@@ -51,6 +51,7 @@ cmd_display_message_exec(struct cmd *self, struct cmd_ctx *ctx)
struct format_tree *ft;
char out[BUFSIZ];
time_t t;
+ size_t len;
if ((c = cmd_find_client(ctx, args_get(args, 'c'))) == NULL)
return (-1);
@@ -83,14 +84,16 @@ cmd_display_message_exec(struct cmd *self, struct cmd_ctx *ctx)
format_window_pane(ft, wp);
t = time(NULL);
- strftime(out, sizeof out, template, localtime(&t));
+ len = strftime(out, sizeof out, template, localtime(&t));
+ out[len] = '\0';
msg = format_expand(ft, out);
if (args_has(self->args, 'p'))
ctx->print(ctx, "%s", msg);
else
status_message_set(c, "%s", msg);
- xfree(msg);
+ xfree(msg);
+ format_free(ft);
return (0);
}