Mercurial > pidgin
diff finch/libgnt/gntfilesel.c @ 28336:89644e8d4323
Plug leaks in the file-selector code.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Wed, 07 Oct 2009 20:23:16 +0000 |
parents | e2e57d3c0578 |
children | a8cc50c2279f |
line wrap: on
line diff
--- a/finch/libgnt/gntfilesel.c Tue Oct 06 15:58:05 2009 +0000 +++ b/finch/libgnt/gntfilesel.c Wed Oct 07 20:23:16 2009 +0000 @@ -176,9 +176,13 @@ splits = g_strsplit(path, G_DIR_SEPARATOR_S, -1); for (i = 0, j = 0; splits[i]; i++) { if (strcmp(splits[i], ".") == 0) { + g_free(splits[i]); + splits[i] = NULL; } else if (strcmp(splits[i], "..") == 0) { if (j) j--; + g_free(splits[i]); + splits[i] = NULL; } else { if (i != j) { g_free(splits[j]); @@ -625,6 +629,7 @@ sel->files = gnt_tree_new_with_columns(2); /* Name, Size */ gnt_tree_set_compare_func(GNT_TREE(sel->files), (GCompareFunc)g_utf8_collate); + gnt_tree_set_hash_fns(GNT_TREE(sel->files), g_str_hash, g_str_equal, g_free); gnt_tree_set_column_titles(GNT_TREE(sel->files), "Filename", "Size"); gnt_tree_set_show_title(GNT_TREE(sel->files), TRUE); gnt_tree_set_col_width(GNT_TREE(sel->files), 0, 25);