diff options
author | Tiago Cunha <tcunha@gmx.com> | 2012-03-07 13:36:57 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2012-03-07 13:36:57 +0000 |
commit | e7c70249074d98e88b1571af47a5e6c78f63eb5d (patch) | |
tree | f2ee9635ef70ab480b1dd08464227d3578507609 | |
parent | 3275e9bd5b4f9d8aa3961d3468fcd6765191fcc3 (diff) | |
download | rtmux-e7c70249074d98e88b1571af47a5e6c78f63eb5d.tar.gz rtmux-e7c70249074d98e88b1571af47a5e6c78f63eb5d.tar.bz2 rtmux-e7c70249074d98e88b1571af47a5e6c78f63eb5d.zip |
Sync OpenBSD patchset 1038:
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 1b87e770..f7d75e36 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); } |