aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/bind.c
diff options
context:
space:
mode:
authorLibravatar Tobias Blass <tobiasblass@t-online.de>2017-07-10 22:59:59 +0200
committerLibravatar Tobias Blass <tobiasblass@t-online.de>2017-07-10 22:59:59 +0200
commit566863ba5d2d09aebb74f90672fbee4d5754cf46 (patch)
treea77c67ad8ec937ce07faac2269c7e640b5bb8c9a /sway/commands/bind.c
parentMerge pull request #1265 from johalun/master-freebsd (diff)
downloadsway-566863ba5d2d09aebb74f90672fbee4d5754cf46.tar.gz
sway-566863ba5d2d09aebb74f90672fbee4d5754cf46.tar.zst
sway-566863ba5d2d09aebb74f90672fbee4d5754cf46.zip
fix use-after-free bug
Diffstat (limited to 'sway/commands/bind.c')
-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) {
61 sym = ((char *)split->items[i])[strlen("button")] - '1' + M_LEFT_CLICK; 61 sym = ((char *)split->items[i])[strlen("button")] - '1' + M_LEFT_CLICK;
62 } 62 }
63 if (!sym) { 63 if (!sym) {
64 struct cmd_results *ret = cmd_results_new(CMD_INVALID, "bindsym",
65 "Unknown key '%s'", (char *)split->items[i]);
64 free_sway_binding(binding); 66 free_sway_binding(binding);
65 free_flat_list(split); 67 free_flat_list(split);
66 return cmd_results_new(CMD_INVALID, "bindsym", "Unknown key '%s'", 68 return ret;
67 (char *)split->items[i]);
68 } 69 }
69 xkb_keysym_t *key = malloc(sizeof(xkb_keysym_t)); 70 xkb_keysym_t *key = malloc(sizeof(xkb_keysym_t));
70 if (!key) { 71 if (!key) {