aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar kraftwerk28 <kefirchik3@gmail.com>2022-06-15 18:50:57 +0300
committerLibravatar Simon Ser <contact@emersion.fr>2022-06-16 09:32:44 +0200
commit49cef51e6e7fe31ba4f820560e0b69ebd2149d37 (patch)
tree361a2995cd48c2b879705a30024c76cebb857522
parentconfig/output: use wlr_output_commit_state (diff)
downloadsway-49cef51e6e7fe31ba4f820560e0b69ebd2149d37.tar.gz
sway-49cef51e6e7fe31ba4f820560e0b69ebd2149d37.tar.zst
sway-49cef51e6e7fe31ba4f820560e0b69ebd2149d37.zip
Allocate enough space for `cmd_results->error`
-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;