diff options
Diffstat (limited to 'sway/commands.c')
-rw-r--r-- | sway/commands.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sway/commands.c b/sway/commands.c index fdae1961..81e9ea42 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -511,11 +511,14 @@ struct cmd_results *cmd_results_new(enum cmd_status status, | |||
511 | results->input = NULL; | 511 | results->input = NULL; |
512 | } | 512 | } |
513 | if (format) { | 513 | if (format) { |
514 | char *error = malloc(256); | ||
515 | va_list args; | 514 | va_list args; |
516 | va_start(args, format); | 515 | va_start(args, format); |
516 | size_t length = vsnprintf(NULL, 0, format, args) + 1; | ||
517 | char *error = malloc(length); | ||
518 | va_end(args); | ||
519 | va_start(args, format); | ||
517 | if (error) { | 520 | if (error) { |
518 | vsnprintf(error, 256, format, args); | 521 | vsnprintf(error, length, format, args); |
519 | } | 522 | } |
520 | va_end(args); | 523 | va_end(args); |
521 | results->error = error; | 524 | results->error = error; |