aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-07-10 19:00:12 -0400
committerGitHub <noreply@github.com>2017-07-10 19:00:12 -0400
commit8fad213f346daee628c0548f9a06179f602ada3a (patch)
treea77c67ad8ec937ce07faac2269c7e640b5bb8c9a
parent88120cfbbeaee8ee4ca49fc915eca209fa8cbb78 (diff)
parent566863ba5d2d09aebb74f90672fbee4d5754cf46 (diff)
Merge pull request #1270 from tobiasblass/bindsym_use_after_free
fix use-after-free bug
-rw-r--r--sway/commands/bind.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sway/commands/bind.c b/sway/commands/bind.c
index af5a01e5..d9ea37b7 100644
--- a/sway/commands/bind.c
+++ b/sway/commands/bind.c
@@ -61,10 +61,11 @@ struct cmd_results *cmd_bindsym(int argc, char **argv) {
sym = ((char *)split->items[i])[strlen("button")] - '1' + M_LEFT_CLICK;
}
if (!sym) {
+ struct cmd_results *ret = cmd_results_new(CMD_INVALID, "bindsym",
+ "Unknown key '%s'", (char *)split->items[i]);
free_sway_binding(binding);
free_flat_list(split);
- return cmd_results_new(CMD_INVALID, "bindsym", "Unknown key '%s'",
- (char *)split->items[i]);
+ return ret;
}
xkb_keysym_t *key = malloc(sizeof(xkb_keysym_t));
if (!key) {