summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2016-07-17 22:47:20 -0500
committerFurkan Sahin <furkan-dev@proton.me>2016-07-17 22:47:20 -0500
commit876624d25e8a23a3eb32ad4d8bc7b0f933c4153a (patch)
tree9283ac10b610b726adcf4d1248123da958c01a58
parent6ef59953235dffa442ac41fb689ddfbc0bac4ff9 (diff)
Do not crash when handling the command 'move position'
Sway expected 'move position' to be 'move position mouse'. If mouse is not present in the command, Sway crashes.
-rw-r--r--sway/commands.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 73f245c1..1dec9889 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -1115,7 +1115,14 @@ static struct cmd_results *cmd_move(int argc, char **argv) {
focused = swayc_active_workspace();
}
set_focused_container(focused);
- } else if (strcasecmp(argv[0], "position") == 0 && strcasecmp(argv[1], "mouse") == 0) {
+ } else if (strcasecmp(argv[0], "position") == 0) {
+ if ((error = checkarg(argc, "move workspace", EXPECTED_EQUAL_TO, 2))) {
+ return error;
+ }
+ if (strcasecmp(argv[1], "mouse")) {
+ return cmd_results_new(CMD_INVALID, "move", expected_syntax);
+ }
+
if (view->is_floating) {
swayc_t *output = swayc_parent_by_type(view, C_OUTPUT);
struct wlc_geometry g;