diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-07-10 19:00:12 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-10 19:00:12 -0400 |
commit | 8fad213f346daee628c0548f9a06179f602ada3a (patch) | |
tree | a77c67ad8ec937ce07faac2269c7e640b5bb8c9a | |
parent | Merge pull request #1265 from johalun/master-freebsd (diff) | |
parent | fix use-after-free bug (diff) | |
download | sway-8fad213f346daee628c0548f9a06179f602ada3a.tar.gz sway-8fad213f346daee628c0548f9a06179f602ada3a.tar.zst sway-8fad213f346daee628c0548f9a06179f602ada3a.zip |
Merge pull request #1270 from tobiasblass/bindsym_use_after_free
fix use-after-free bug
-rw-r--r-- | sway/commands/bind.c | 5 |
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) { |