diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2012-03-03 09:45:41 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2012-03-03 09:45:41 +0000 |
commit | 8b68ea146212cd56139ca9838e146ab018c2b8bc (patch) | |
tree | f523523d38879ab865a6702491deb13ec72a48b8 | |
parent | f4fdddc9306886e3ab5257f40003f6db83ac926b (diff) | |
download | rtmux-8b68ea146212cd56139ca9838e146ab018c2b8bc.tar.gz rtmux-8b68ea146212cd56139ca9838e146ab018c2b8bc.tar.bz2 rtmux-8b68ea146212cd56139ca9838e146ab018c2b8bc.zip |
Terminate strftime buffer properly and free format string, whoops. From
Tiago Cunha.
-rw-r--r-- | cmd-display-message.c | 7 |
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); } |