diff options
author | lbonn <bonnans.l@gmail.com> | 2019-10-19 16:05:42 +0200 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-11-01 12:18:09 -0400 |
commit | 30fa7d191e031797c182fcec93f20ae9124ea664 (patch) | |
tree | 87ffd214d91f223583b762e0627f1016dfcbf910 /sway/config | |
parent | Fix various memory leaks (diff) | |
download | sway-30fa7d191e031797c182fcec93f20ae9124ea664.tar.gz sway-30fa7d191e031797c182fcec93f20ae9124ea664.tar.zst sway-30fa7d191e031797c182fcec93f20ae9124ea664.zip |
Fix potential NULL reference on cleanup
If allocation of bindings failed.
Found with clang-tidy
Diffstat (limited to 'sway/config')
-rw-r--r-- | sway/config/bar.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sway/config/bar.c b/sway/config/bar.c index 9c30204e..f90fcdc0 100644 --- a/sway/config/bar.c +++ b/sway/config/bar.c | |||
@@ -39,8 +39,10 @@ void free_bar_config(struct bar_config *bar) { | |||
39 | free(bar->swaybar_command); | 39 | free(bar->swaybar_command); |
40 | free(bar->font); | 40 | free(bar->font); |
41 | free(bar->separator_symbol); | 41 | free(bar->separator_symbol); |
42 | for (int i = 0; i < bar->bindings->length; i++) { | 42 | if (bar->bindings) { |
43 | free_bar_binding(bar->bindings->items[i]); | 43 | for (int i = 0; i < bar->bindings->length; i++) { |
44 | free_bar_binding(bar->bindings->items[i]); | ||
45 | } | ||
44 | } | 46 | } |
45 | list_free(bar->bindings); | 47 | list_free(bar->bindings); |
46 | list_free_items_and_destroy(bar->outputs); | 48 | list_free_items_and_destroy(bar->outputs); |