From c477bbf345ccfcc5b48bb49c9f9784e8d8a7bfac Mon Sep 17 00:00:00 2001
From: Mikkel Oscar Lyderik <mikkeloscar@gmail.com>
Date: Sat, 28 Nov 2015 22:02:06 +0100
Subject: 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);
 			}
-- 
cgit v1.2.3