summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2017-07-10 19:00:12 -0400
committerLibravatar Drew DeVault <ddevault@vistarmedia.com>2017-07-11 20:08:19 -0400
commitcd3da457993015146a077b75e7d23ef94a91c256 (patch)
tree6a1dbcfd7e147780e3a0635bbb7768f7f4799ac4
parentMerge pull request #1265 from johalun/master-freebsd (diff)
downloadsway-cd3da457993015146a077b75e7d23ef94a91c256.tar.gz
sway-cd3da457993015146a077b75e7d23ef94a91c256.tar.zst
sway-cd3da457993015146a077b75e7d23ef94a91c256.zip
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) {
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) {