From c477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac Mon Sep 17 00:00:00 2001 From: Mikkel Oscar Lyderik Date: Sat, 28 Nov 2015 22:02:06 +0100 Subject: [PATCH] Add warnings about invalid output commands This handles some cases where sway will crash if an output command is invalid/missing an argument. --- sway/commands.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sway/commands.c b/sway/commands.c index a46a0b89..42845f65 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -767,8 +767,14 @@ static struct cmd_results *cmd_output(int argc, char **argv) { output->y = y; } else if (strcasecmp(argv[i], "bg") == 0 || strcasecmp(argv[i], "background") == 0) { wordexp_t p; - char *src = argv[++i]; - char *mode = argv[++i]; + if (++i >= argc) { + return cmd_results_new(CMD_INVALID, "output", "Missing background file."); + } + char *src = argv[i]; + if (++i >= argc) { + return cmd_results_new(CMD_INVALID, "output", "Missing background scaling mode."); + } + char *mode = argv[i]; if (wordexp(src, &p, 0) != 0) { return cmd_results_new(CMD_INVALID, "output", "Invalid syntax (%s)", src); }