diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2018-07-01 23:12:17 +0900 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2018-07-02 08:03:41 +0900 |
commit | c73c552cae435dd61ebbe0c76aa66570095375a9 (patch) | |
tree | d68569ddd573cd6fe8d4fcefae4fc3447322b1e6 /sway/commands/bar | |
parent | bar_cmd_font: fix leak of font (diff) | |
download | sway-c73c552cae435dd61ebbe0c76aa66570095375a9.tar.gz sway-c73c552cae435dd61ebbe0c76aa66570095375a9.tar.zst sway-c73c552cae435dd61ebbe0c76aa66570095375a9.zip |
bar_cmd_modifier: fix use-after-free on error
Found through static analysis.
Diffstat (limited to 'sway/commands/bar')
-rw-r--r-- | sway/commands/bar/modifier.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sway/commands/bar/modifier.c b/sway/commands/bar/modifier.c index 7ba4b125..02f845e6 100644 --- a/sway/commands/bar/modifier.c +++ b/sway/commands/bar/modifier.c | |||
@@ -22,9 +22,10 @@ struct cmd_results *bar_cmd_modifier(int argc, char **argv) { | |||
22 | mod |= tmp_mod; | 22 | mod |= tmp_mod; |
23 | continue; | 23 | continue; |
24 | } else { | 24 | } else { |
25 | error = cmd_results_new(CMD_INVALID, "modifier", | ||
26 | "Unknown modifier '%s'", split->items[i]); | ||
25 | free_flat_list(split); | 27 | free_flat_list(split); |
26 | return cmd_results_new(CMD_INVALID, "modifier", | 28 | return error; |
27 | "Unknown modifier '%s'", split->items[i]); | ||
28 | } | 29 | } |
29 | } | 30 | } |
30 | free_flat_list(split); | 31 | free_flat_list(split); |