aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands.c')
-rw-r--r--sway/commands.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 0ced71ec..2160a970 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -485,13 +485,19 @@ struct cmd_results *cmd_results_new(enum cmd_status status,
485 } 485 }
486 results->status = status; 486 results->status = status;
487 if (format) { 487 if (format) {
488 char *error = malloc(256); 488 char *error = NULL;
489 va_list args; 489 va_list args;
490 va_start(args, format); 490 va_start(args, format);
491 if (error) { 491 int slen = vsnprintf(NULL, 0, format, args);
492 vsnprintf(error, 256, format, args);
493 }
494 va_end(args); 492 va_end(args);
493 if (slen > 0) {
494 error = malloc(slen + 1);
495 if (error != NULL) {
496 va_start(args, format);
497 vsnprintf(error, slen + 1, format, args);
498 va_end(args);
499 }
500 }
495 results->error = error; 501 results->error = error;
496 } else { 502 } else {
497 results->error = NULL; 503 results->error = NULL;