sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 695948e6891e0ec955f1fdc0771303cdaf19d026
parent 2ae2d09c4cbbf0834f74a3f252fd613d86c5a330
Author: M Stoeckl <code@mstoeckl.com>
Date:   Fri, 18 Jan 2019 21:05:50 -0500

Fix memory leaks in swaybar

Diffstat:
Mswaybar/tray/icon.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/swaybar/tray/icon.c b/swaybar/tray/icon.c @@ -191,8 +191,12 @@ static struct icon_theme *read_theme_file(char *basedir, char *theme_name) { size_t path_len = snprintf(NULL, 0, "%s/%s/index.theme", basedir, theme_name) + 1; char *path = malloc(path_len); + if (!path) { + return NULL; + } snprintf(path, path_len, "%s/%s/index.theme", basedir, theme_name); FILE *theme_file = fopen(path, "r"); + free(path); if (!theme_file) { return NULL; } @@ -293,6 +297,7 @@ static list_t *load_themes_in_dir(char *basedir) { list_add(themes, theme); } } + closedir(dir); return themes; } @@ -311,7 +316,9 @@ void init_themes(list_t **themes, list_t **basedirs) { struct icon_theme *theme = (*themes)->items[i]; list_add(theme_names, theme->name); } - wlr_log(WLR_DEBUG, "Loaded themes: %s", join_list(theme_names, ", ")); + char *theme_list = join_list(theme_names, ", "); + wlr_log(WLR_DEBUG, "Loaded themes: %s", theme_list); + free(theme_list); list_free(theme_names); }