aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-02-05 22:09:59 +0100
committerGitHub <noreply@github.com>2019-02-05 22:09:59 +0100
commita3c531485631698109073d338da956ccaaf0a7e0 (patch)
tree1f073eead802b2db385f1986373dcabd1171a00e
parent09c2a46b3d28b447ec070f0d6a57bd47fe1e6fd7 (diff)
parent89afb761ba21926b710b9e3d12361c3922d2baec (diff)
downloadsway-a3c531485631698109073d338da956ccaaf0a7e0.tar.xz
Merge pull request #3587 from RedSoxFan/fix-background-missing-file
output_cmd_background: fix no file + valid mode
-rw-r--r--common/stringop.c3
-rw-r--r--sway/commands/output/background.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/common/stringop.c b/common/stringop.c
index 8af0d60f..709be684 100644
--- a/common/stringop.c
+++ b/common/stringop.c
@@ -258,6 +258,9 @@ int unescape_string(char *string) {
}
char *join_args(char **argv, int argc) {
+ if (!sway_assert(argc > 0, "argc should be positive")) {
+ return NULL;
+ }
int len = 0, i;
for (i = 0; i < argc; ++i) {
len += strlen(argv[i]) + 1;
diff --git a/sway/commands/output/background.c b/sway/commands/output/background.c
index f65904bb..5a15ed0f 100644
--- a/sway/commands/output/background.c
+++ b/sway/commands/output/background.c
@@ -61,6 +61,9 @@ struct cmd_results *output_cmd_background(int argc, char **argv) {
return cmd_results_new(CMD_INVALID,
"Missing background scaling mode.");
}
+ if (j == 0) {
+ return cmd_results_new(CMD_INVALID, "Missing background file");
+ }
wordexp_t p = {0};
char *src = join_args(argv, j);